Guest Xanxere Postado Janeiro 20, 2007 Denunciar Share Postado Janeiro 20, 2007 Ola Pessoal,Gostaria de saber se tem uma maneira para mostrar o indice de cada linha do DBGrid.O que estou precisando é que seja mostrado o valor de cada linha na primeira coluna do DBGrid, masnão uma coluna que eu monte com select mas a coluna onde esta a flecha/seta que posiciona no registro.Procurei em varios lugares mas não achei nada.Se alguém souber de um método ou componente que faça isso, ficari muito gratovlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Janeiro 21, 2007 Denunciar Share Postado Janeiro 21, 2007 Xanxere, é um recurso pouco provável de ser encontrado para um componente como o DBGrid. A menos que você mesmo crie um componente derivado do mesmo, e ainda assim, pode não ser simples implementar esta funcionalidade.você pretende mostrar muitos registros neste DBGrid? Será feita edição no mesmo? Do contrário, talvez você pudesse utilizar um TSgringGrid.Dependendo de alguns fatores, talvez dê para "simular" este efeito com um DBGrid:- Manipulando alguns eventos (OnDrawColumnCell e OnCellClick);- O DBGrid não mantém uma propriedade que indique a linha referênte ao número do registro lido; Então, para mostrar um número referente a linha-resultado da consulta/dataset, uma opção seria utilizar a propriedade RecNo do dataset ligado ao DBGrid - desde que o dataset suporte esta fucionalidade;- Também não temos acessível a propriedade que define o número de colunas fixas, então não daria para manter a sua coluna numerada parada (estática à esquerda) - se todas as colunas couberem na largura do grid não será notada qualquer diferença;Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Xanxerê Postado Janeiro 25, 2007 Denunciar Share Postado Janeiro 25, 2007 Fiz uma aplicação de teste em consegui trazer o indice/número de cada linha em um TDBGrid, porém tenho um componente o qual utiliza um TDBgrid só o mesmo esta sempre me retornando -1Alguém sabe porque???Observa-se que para retornar os valores do indice estou utilizando: DBGrid1.datasource.dataset.RecNo, só que esta trazendo sempre -1Espero que alguém possa me ajudarvlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Janeiro 25, 2007 Denunciar Share Postado Janeiro 25, 2007 Fiz uma aplicação de teste em consegui trazer o indice/número de cada linha em um TDBGrid, porém tenho um componente o qual utiliza um TDBgrid só o mesmo esta sempre me retornando -1Alguém sabe porque???Observa-se que para retornar os valores do indice estou utilizando: DBGrid1.datasource.dataset.RecNo, só que esta trazendo sempre -1Xanxerê, acho que deve ser um daqueles casos que citei antes: "...uma opção seria utilizar a propriedade RecNo do dataset ligado ao DBGrid - desde que o dataset suporte esta fucionalidade;"Existem componentes (dataset) em que a propriedade RecordCount, por exemplo, também não corresponde ao número de registros no dataset, mas sim algo como o número de registros recuperados (assim por questões de otimização) - o MDO (que utilizo para acesso ao FireBird) é um caso destes. Existem outros.Qual o banco de dados que você utiliza e qual o componente de acesso?Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Xanxerê Postado Janeiro 26, 2007 Denunciar Share Postado Janeiro 26, 2007 o banco que utilizo é oracle e TQuery, TDataSet... o que pude observar é que quando utilizei um table consegui trazer os indices/nº de linha certo, ou seja, 1,2,3,4.... e quando utilizo através de uma Query sempre traz -1Gostaria de saber se tem como eu implementar uma rotina de RecNo que nem a da unit DBTables para resolver isso....Desde já agradeço a atençãovlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Fernando Piccini Postado Janeiro 30, 2007 Denunciar Share Postado Janeiro 30, 2007 ola Pessoal,Criei um método o qual lista o numero/indice de cada linha, ate ia tudo bem...o problema é que quando navego ele se perde...ou seja...ele só mostra osvalores/indice de cada linha que é visivel....TMyGrid = class(TDBGrid);procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);var Str : String;begin if (DataCol = 0) then with TMyGrid(DBGrid1) do begin Str := Inttostr(TDataLink(DataLink).ActiveRecord); Canvas.TextOut((Rect.Right - Canvas.TextWidth(Str)) - 30, Rect.Top, Str); end;end;alguém sabe se como posso fazer para numerar todas minhas linhas no dbgrid?vlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Xanxere
Ola Pessoal,
Gostaria de saber se tem uma maneira para mostrar o indice de cada linha do DBGrid.
O que estou precisando é que seja mostrado o valor de cada linha na primeira coluna do DBGrid, mas
não uma coluna que eu monte com select mas a coluna onde esta a flecha/seta que posiciona no registro.
Procurei em varios lugares mas não achei nada.
Se alguém souber de um método ou componente que faça isso, ficari muito grato
vlw
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.