Refresh no DBGRID

Delphi

01/02/2012

Pessoal preciso de ajuda!

Criei uma ClientDataSet temporário para armazena todos os débitos de um determinado cliente e mostra em um DBGRID.
O operador do caixa seleciona o item que deve ser pago , ao selecionar um item preciso varrer toda o ClientDataSet temporário verificando a existência de débitos com vencimento inferior ao selecionado e débitos em conjunto para que também sejam marcados automaticamente.

Para isso posiciono o ClientDataSet no inicio e faço um loop até o final com alguns IF no meio.
Ao atualizar o dbgrid com os itens selecionados ele muda a posição da tela deixando o último item selecionado com o primeiro no dbgrid.

Tentei usar “DS_TEMP_CAIXA.DataSet.RecNo := Posicao;” para posicionar e o efeito na tela é o mesmo.
Pergunto:

É possível alterar um clientdataset com o comando UPDATE?
Como eu faço para retirar este efeito de posicionamento no dbgrid?

Agradeço a ajuda.
Silvio Morelo

Silvio Morelo

Curtidas 0

Respostas

William

William

01/02/2012

Colega com relação ao UPDATE no ClientDataSet até onde sei não tem como só com Edit mesmo, até porque as informações estão em memória ainda e não no banco de dados pra usar comandos SQL, já na parte de atualização do GRID não entendi muito bem a idéia do processo.
GOSTEI 0
Rafael Ribeiro

Rafael Ribeiro

01/02/2012

Já tentou reposicionar através do próprio ClientDataSet Temporário? Antes de retirá-lo da memória dê um ClienTTemporario.First;

Esse client temporário é um clone? É interessante usar o clone para que vc não perca o ponteiro.

Att.

Rafael
GOSTEI 0
Silvio Morelo

Silvio Morelo

01/02/2012

Obrigado pela ajuda!
GOSTEI 0
POSTAR