Bookmark

Delphi

05/05/2008

Tenho um CDS onde eu dou um while nele. O que eu quero é marcar a posição em que eu clicar no grid e quando terminar o while(o cursor vai para o final, por default). Gostaria que o cursor ficasse onde eu cliquei. Sei que dá com Bookmark, mas como?


Paulo

Paulo

Curtidas 0

Respostas

Fabriciok

Fabriciok

05/05/2008

Acho que isso deve solucionar o seu problema:

var
book: TBookmark;
begin
book:= CDS.GetBookmark; //seta o Bookmark
CDS.First;
while not CDS.Eof do
begin
{instrução};
CDS.Next;
end;
CDS.GotoBookmark(book); //aponta para o Bookmark
CDS.FreeBookmark(book); //libera o Bookmark
end;


GOSTEI 0
Paulo

Paulo

05/05/2008

fabricio eu fiz assim, mas está movendo o grid, assim: O cursor fica no registro realmente, mas se este registro no momento em eu marcar ele, ele sobe para cima, simulando o primeiro registro, mas ainda tem mais pra cima do grid, só que o scroll do grid se move. Não é isso que eu quero, mas sim, ele não se mexer da posição em que eu cliquei nele.


GOSTEI 0
Fabriciok

Fabriciok

05/05/2008

Entendi, tente dessa forma, com o comando DisableControls

var
book: TBookmark;
begin
book:= CDS.GetBookmark; //seta o Bookmark
CDS.DisableControls;
CDS.First;
while not CDS.Eof do
begin
{instrução};
CDS.Next;
end;
CDS.GotoBookmark(book); //aponta para o Bookmark
CDS.FreeBookmark(book); //libera o Bookmark
CDS.EnableControls;
end;


GOSTEI 0
Paulo

Paulo

05/05/2008

Aparentemente era só isso. valeu!!!!


GOSTEI 0
POSTAR