Fórum DBGrid #370979

04/06/2009

0

Como faço para quando o usuario alterar a ordem das colunas isso ficar gravado, ou melhor ficar na mesma ordem quando ele entrar novamente na tela ?

Abs


Felipeiw

Felipeiw

Responder

Posts

04/06/2009

Danielrsanches

olha !!

existem várias formas de se fazer isso ... vc trabalha com SQL ?? está utilizando uma QUERY ou uma TABLE para exibir os dados nesse grid ??

vc quer gravar essas informações apenas em tempo de execução do sistema ou em um arquivo ??

passa maiores informações que a gente te explica certinho o q fazer !!

abraços !!


Responder

Gostei + 0

05/06/2009

Felipeiw

Trabalho com D7, FB e os componentes DBExpress para acesso aos dados, alguns clientes quando entram em algum relatorio que utilizo o dbgrid, querem eles mesmos alterar a ordem das colunas, mas querem que essa ordem fiquem gravada.

Abs


Responder

Gostei + 0

05/06/2009

Danielrsanches

uma de muitas formas, é vc gravar em um arquivo texto ... vc pode criar uma variável timo TMEMO ou TSTRINGLIST e salvá-los em arquivos texto, recuperando-os assim que o form do relatorio for aberto ...


Responder

Gostei + 0

05/06/2009

Felipeiw

Sao muitos formularios que eu uso o dbgrid, essa maneira daria mt retrabalho, sera q nao existe uma maneira de alterar o indice das colunas, por exemplo ? Assim eu nao iria precisar de arquivos auxiliares, a alteracao seria direto no componente dbgrid.

Abs


Responder

Gostei + 0

05/06/2009

Woinch

O DBGrid nativo não tem essa opção de salvar o posicionamento das colunas. Experimente encontrar um DBGrid terceiro que faça isso ou implemente você mesmo essa função. Aqui na empresa nos implementamos uma função para salvar em banco de dados o posicionamento e ordenação do grid para cada usuário que utiliza o sistema. Cabe a você montar sua função para gravar e restaurar essas configurações de acordo com a sua necessidade.

Caso tenha alguma dúvida basta postar que iremos lhe ajudar, mas vale lembrar que não vamos colar o código pronto aqui para você.

Espero ter ajudado.


Responder

Gostei + 0

06/06/2009

Pestana_

você poderia fazer desta maneira:

// carrega as configurações do dbGrid.
procedure Tform1.CarregarConfigGrade;
var
   spath : string;
begin
   spath := ExtractFilePath(Application.ExeName);
   if FileExists(spath+´dbGridXXX.cfg´) then
     DBGrid1.Columns.LoadFromFile(spath+´dbGridXXX.cfg´);
end;

// salva as configurações do dbGrid.
procedure Tform1.SalvarConfigGrade;
var
   spath : string;
begin
   spath := ExtractFilePath(Application.ExeName);
   DBGrid1.Columns.SaveToFile(spath+´dbGridXXX.cfg´);
end;

procedure Tform1.FormShow(Sender: TObject);
begin
   CarregarConfigGrade;  // carrega as configurações do dbGrid.
end;

procedure Tform1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   SalvarConfigGrade;    // salva as configurações do dbGrid.
end;



Responder

Gostei + 0

06/06/2009

Felipeiw

Pestana, Obrigado, Funcionou perfeitamente.


Abs a Todos


Responder

Gostei + 0

06/06/2009

Pestana_

qui bom! qualquer coisa estamos ai!


Abraços.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar