Edição e Gravação em DBGrid
Tenho um DBgrid que edito algumas informações. Gostaria de ao clicar no botão Cancelar ele não gravasse as alterações feitas no DBGrid. Percebo que quando mudo de linha ele grava as alterações feitas na linha anterior.
Alguém sabe como resolver isso?
Valeu força!!!
JR.
Alguém sabe como resolver isso?
Valeu força!!!
JR.
Jrjoliv2003
Curtidas 0
Respostas
Tnaires
03/08/2004
Olá
Isso acontece pq, num DBGrid, se vc mudar o cursor da linha, ele dá um Post no DataSet. Vc pode remediar isso usando o recurso de CachedUpdates do DataSet, q permite vc editar os registros mas não gravar diretamente os dados no banco, e sim no cache interno. Então, vc pode colocar dois botões: um chamando o método ApplyUpdates (q grava todas as modificações) e outro chamando CancelUpdates (q desfaz as alterações no cache).
Abraços
Isso acontece pq, num DBGrid, se vc mudar o cursor da linha, ele dá um Post no DataSet. Vc pode remediar isso usando o recurso de CachedUpdates do DataSet, q permite vc editar os registros mas não gravar diretamente os dados no banco, e sim no cache interno. Então, vc pode colocar dois botões: um chamando o método ApplyUpdates (q grava todas as modificações) e outro chamando CancelUpdates (q desfaz as alterações no cache).
Abraços
GOSTEI 0
Jrjoliv2003
03/08/2004
Essa Dbgrid usa um ibtable (ibtparcelas). Como ficaria essa programação.
Desculpe, sou novo em programação. É meu projeto final de curso!!
Valeu a força!!!
JR.
Desculpe, sou novo em programação. É meu projeto final de curso!!
Valeu a força!!!
JR.
GOSTEI 0
Jrjoliv2003
03/08/2004
Resolvido!!!
data.ibtparcelas.ApplyUpdates;
data.ibtparcelas.CancelUpdates;
E no componete ativei a propriedade CacheUpdates para true.
Valeu!!!
JR.
data.ibtparcelas.ApplyUpdates;
data.ibtparcelas.CancelUpdates;
E no componete ativei a propriedade CacheUpdates para true.
Valeu!!!
JR.
GOSTEI 0