Ir para conteúdo
Fórum Script Brasil
  • 0

Ordenar e alterar dados DBGrid


Natã Carlos

Pergunta

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

  • 0
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.

Estranho porque eu utilizo quase assim e funciona corretamente.

mas verifica se no DataSource a propriedade AutoEdit está como true e no DbGrid também no options do DbGrid a propriedade dgEditing está como true.

Link para o comentário
Compartilhar em outros sites

  • 0

vi um post dizendo que um DBgrid ligado a um Query que utiliza a expressão where ou order by não é possivel ser editável mesmo habilitando RequestLive.

será que é isso que está impedindo de conseguir editar os dados na DBgrid, pois eu utilizo o orderby para ordenar as colunas quando são clicadas.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,8k
×
×
  • Criar Novo...