Reorganizar DBGrid sem abrir/fechar o IBDataset
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
Curtidas 0
Respostas
Afarias
06/03/2005
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+
GOSTEI 0
Tlima
06/03/2005
faça a ordenação no IBDataSet mesmo, e use o CommitRetaning, como isso a IBDataSet continua aberta do jeito q estiver.
GOSTEI 0