Fórum Reorganizar DBGrid sem abrir/fechar o IBDataset #49711
06/03/2005
0
Olá pessoal, o meu problema é o seguinte:
Tenho uma tabela firebird 1.5 relacionada a outra tabela mestre da seguinte forma:
TABELA MESTRE: RECEITA (INDICE: CODIGO)
TABELA DETALHE: PROCESSO (INDICE: CODIGO, ORDEM)
TABELA DETALHE: ITENS (INDICE: CODIGORECEITA, ORDEM PROCESSO, CODIGOITEM)
O meu problema é o seguinte:
Preciso que o usuário escolha a Ordem correta dos processos só que usando IBDataset o DBGrid que eu uso para entrada de dados não fica ordenado (Sendo que no IBDataset já está configurada na SELECT SQL a opção ORDER BY ´ORDEM´).
O problema é que o campo ORDEM é uma chave e não pode ficar e queria que o usuário digitasse o número da ordem e automaticamente no grid o registro fosse para a posição correta. Só que o maior problema é que não posso abrir e fechar o dataset pois isso ´commitaria´ a minha transação e não posso deixar que isso aconteça já que é uma parte de cadastro.
Obrigado à todos pela atenção
Tenho uma tabela firebird 1.5 relacionada a outra tabela mestre da seguinte forma:
TABELA MESTRE: RECEITA (INDICE: CODIGO)
TABELA DETALHE: PROCESSO (INDICE: CODIGO, ORDEM)
TABELA DETALHE: ITENS (INDICE: CODIGORECEITA, ORDEM PROCESSO, CODIGOITEM)
O meu problema é o seguinte:
Preciso que o usuário escolha a Ordem correta dos processos só que usando IBDataset o DBGrid que eu uso para entrada de dados não fica ordenado (Sendo que no IBDataset já está configurada na SELECT SQL a opção ORDER BY ´ORDEM´).
O problema é que o campo ORDEM é uma chave e não pode ficar e queria que o usuário digitasse o número da ordem e automaticamente no grid o registro fosse para a posição correta. Só que o maior problema é que não posso abrir e fechar o dataset pois isso ´commitaria´ a minha transação e não posso deixar que isso aconteça já que é uma parte de cadastro.
Obrigado à todos pela atenção
Alexsjn
Curtir tópico
+ 0
Responder
Posts
07/03/2005
Afarias
A melhor forma para tratar questões de ordenação, filtro e outros recursos de registros em Buffer, é usar tabelas de memória.
Existem vários componentes por ai, e no Delphi vc conta com o ClientDataSet q é ótimo.
T+
Existem vários componentes por ai, e no Delphi vc conta com o ClientDataSet q é ótimo.
T+
Responder
Gostei + 0
08/04/2005
Tlima
faça a ordenação no IBDataSet mesmo, e use o CommitRetaning, como isso a IBDataSet continua aberta do jeito q estiver.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)