Fórum Probleminha com Colunas do DBGrid #323588
16/06/2006
0
To precisando de uma forcinha:
Tem como eu reordenar as posiçoes das colunas de um dbgrid em tempo de execução?
Tipo, tenho um dbgrid assim?
Nome Telefone Fornecedor Observações
Gostaria que depois de alguma interacao do usuario, ele ficasse assim por exemplo:
Nome Fornecedor Telefone Oservacoes.
Vale ressaltar que os titulos dos dbgrid na verdade sao os displaynames do dataset linkado a esse dbgrid.
Tem como fazer essa organição das colunas em runtime ?
Technos
Curtir tópico
+ 0Posts
16/06/2006
Adriano Santos
Cara, não te dou certeza, mas acho que tenho isso na minha pasta de exemplos em casa. Se achar te passou ou desenvolvo um exemplo, não é difícil.
Gostei + 0
16/06/2006
Technos
Dá uma olhada lá cara.
Mas tipo, to com uma ideia de usar um laço, vinculando ao meu dbgrid.column[index].fieldname := nomedatabela.nomedocampo...
pois ambos sao strings.
Deve funcionar, vo testar. Mas de toda forma olha aew
Gostei + 0
16/06/2006
Adriano Santos
É mais ou menos isso mesmo cara, eu tinha uma rotina em outra empresa que eu trampava e funcionava mais ou menos assim: Eu trocava a primeira coluna com a coluna que o cara clicava e a pesquisa no banco de dados era feita com base nesta coluna trocada. Por exemplo:
[color=blue:796305e6da][b:796305e6da]Nome[/b:796305e6da][/color:796305e6da] - Endereço - Cidade - [color=red:796305e6da][b:796305e6da]Estado[/b:796305e6da][/color:796305e6da]
Se o cara quisesse fazer uma pesquisa por estado era só clicar na coluna Estado que a primeira coluna ia pro final e Estado ia pro começo.
[color=red:796305e6da][b:796305e6da]Estado[/b:796305e6da][/color:796305e6da] - Endereço - Cidade - [color=blue:796305e6da][b:796305e6da]Nome[/b:796305e6da][/color:796305e6da]
A partir dai a pesquisa era feita levando em consideração a o Estado.
Acho que é mais ou menos isso que precisa certo?
Gostei + 0
16/06/2006
Adriano Santos
procedure TForm1.DBGrid1TitleClick(Column: TColumn); var nmColSel: string; idColSel: Integer; begin nmColSel := Column.FieldName; idColSel := Column.Index; with DBGrid1 do begin Columns[idColSel].FieldName := Columns[0].FieldName; Columns[0].FieldName := nmColSel; end; end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)