campo:=column.fieldname; // CAMPO RECEBE O NOME DA COLUNA CLICADA,
application.processmessages; // para considerar algo que aconteça no dbgrid durante a entrada nesta procedure
DM.Q_Export.sql.clear; // LIMPA A QUERY
DM.Q_Export.sql.add('select * from TB_export order by '+campo); // ESCREVE O SELECT COM O ORDER BY
if not DM.Q_Export.Prepared then
DM.Q_Export.Prepare;
DM.Q_Export.Open; // ABRE A QUERY COM A ORDEM ESCOLHIDA.
end;
O problema é que não consigo alterar dados da tabela pelo DBGrid, para conseguir alterar tenho que ligar o DataSource direto na Tabela, mas ai não consigo ordenar o Grid.
alguém pode me ajudar nisso??? gostaria de fazer as duas funções.
Pergunta
Natã Carlos
Olá
Tenho um DBGrid que está ligado a um DataSource e este ligado a um Query, para ordenar ao clicar no titulo da coluna estou usando o seguinte código:
procedure TForm1.DBG_exportTitleClick(Column: TColumn);
var
campo:string;
begin
campo:=column.fieldname; // CAMPO RECEBE O NOME DA COLUNA CLICADA,
application.processmessages; // para considerar algo que aconteça no dbgrid durante a entrada nesta procedure
DM.Q_Export.sql.clear; // LIMPA A QUERY
DM.Q_Export.sql.add('select * from TB_export order by '+campo); // ESCREVE O SELECT COM O ORDER BY
if not DM.Q_Export.Prepared then
DM.Q_Export.Prepare;
DM.Q_Export.Open; // ABRE A QUERY COM A ORDEM ESCOLHIDA.
end;
O problema é que não consigo alterar dados da tabela pelo DBGrid, para conseguir alterar tenho que ligar o DataSource direto na Tabela, mas ai não consigo ordenar o Grid.
alguém pode me ajudar nisso??? gostaria de fazer as duas funções.
Link para o comentário
Compartilhar em outros sites
9 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.