Probleminha com Colunas do DBGrid

Delphi

16/06/2006

Pessoal...

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

Technos

Curtidas 0

Respostas

Adriano Santos

Adriano Santos

16/06/2006

Pessoal... 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 ?


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
Technos

Technos

16/06/2006

Imagino que nao seja.

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
Adriano Santos

Adriano Santos

16/06/2006

Imagino que nao seja. 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


É 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
Adriano Santos

Adriano Santos

16/06/2006

Tah ai cara, fiz um exemplo simples que troca a coluna que o cara clica com a coluna zero.

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
POSTAR