Foco no tcxGrid após uma consulta.
18/12/2015
0
Bom dia,
Estou com um problema que aparentemente é simples, mais que esta me dando uma dor de cabeça.
É o seguinte:
Tenho um tcxGrid que esta ligado ao meu dataSource.
Esse grid exibe alguns dados do sistema, tenho um botão que chama um outro formulário a partir dos dados selecionados no grid.
Quando eu fecho esse formulário, e atualizo meu sql que esta ligado ao grid, o foco do grid muda.
Por exemplo:
tem 200 linhas no grid, seleciono uma no meio dele, o foco dela esta no meio da tela, quando volto o foco continua no mesmo registro pois pego o recno e depois jogo no dataset, só que a linha selecionada muda de posição para baixo, ou seja ela vai para baixo com o mesmo registro.
Eu precisava que o grid não mexesse.
Teria alguma forma de pegar as coordenadas desse grid ou algo parecido, para depois que fazer a atualização eu jogasse e ficasse igual a posição ?
Obrigado pela atenção.
Estou com um problema que aparentemente é simples, mais que esta me dando uma dor de cabeça.
É o seguinte:
Tenho um tcxGrid que esta ligado ao meu dataSource.
Esse grid exibe alguns dados do sistema, tenho um botão que chama um outro formulário a partir dos dados selecionados no grid.
Quando eu fecho esse formulário, e atualizo meu sql que esta ligado ao grid, o foco do grid muda.
Por exemplo:
tem 200 linhas no grid, seleciono uma no meio dele, o foco dela esta no meio da tela, quando volto o foco continua no mesmo registro pois pego o recno e depois jogo no dataset, só que a linha selecionada muda de posição para baixo, ou seja ela vai para baixo com o mesmo registro.
Eu precisava que o grid não mexesse.
Teria alguma forma de pegar as coordenadas desse grid ou algo parecido, para depois que fazer a atualização eu jogasse e ficasse igual a posição ?
Obrigado pela atenção.
Adriano
Curtir tópico
+ 0
Responder
Post mais votado
18/12/2015
Você pode tentar utilizar BookMarks:
Bookmarks permitem "memorizar" um determinado local da tabela para que possa retornar mais tarde.
Exemplo:
Veja este link:
https://www.devmedia.com.br/dicas-bookmarks-no-delphi/3260
Bookmarks permitem "memorizar" um determinado local da tabela para que possa retornar mais tarde.
Exemplo:
var
bmLocalImportante: TBookmark;
begin
bmLocalImportante := Query1.GetBookMark; // Memoriza registro
Query1.Close; // Fecha a tabela
Query1.Open; // Abre a tabela
Query1.GotoBookmark(bmLocalImportante); // Localiza o registro memorizado
DBGrid.SetFocus; // Foco no DBGrid novamente
Query1.FreeBookmark(bmLocalImportante); // Libera o BookMark da memória
end;
bmLocalImportante: TBookmark;
begin
bmLocalImportante := Query1.GetBookMark; // Memoriza registro
Query1.Close; // Fecha a tabela
Query1.Open; // Abre a tabela
Query1.GotoBookmark(bmLocalImportante); // Localiza o registro memorizado
DBGrid.SetFocus; // Foco no DBGrid novamente
Query1.FreeBookmark(bmLocalImportante); // Libera o BookMark da memória
end;
Veja este link:
https://www.devmedia.com.br/dicas-bookmarks-no-delphi/3260
Natanael Ferreira
Responder
Mais Posts
18/12/2015
Adriano
Eu ja fiz desse jeito, ele funciona mais não resolve meu problema.
Quando eu abro e fecho o dataset o registro fica no mesmo, o problema é que TCXGRID muda de posição.
Por exemplo eu selecionei um registro 222 na 2ª linha e chamei outro formulário, quando eu dou o close e open no data set, o meu grid continua com o foco no 222 so que na 9ª linha.
entendeu?
Mais mesmo assim muito obrigado pela informação do book mark.
Quando eu abro e fecho o dataset o registro fica no mesmo, o problema é que TCXGRID muda de posição.
Por exemplo eu selecionei um registro 222 na 2ª linha e chamei outro formulário, quando eu dou o close e open no data set, o meu grid continua com o foco no 222 so que na 9ª linha.
entendeu?
Mais mesmo assim muito obrigado pela informação do book mark.
Responder
Clique aqui para fazer login e interagir na Comunidade :)