Erro ao selecionar mais de 52 registros em uma TcxGrid no Delphi
estou fazendo um sistema que precisa selecionar muito registros em uma Tcxgrid, se for apenas selecionar não há problema.
Mas o problema acontece se tentar acessar os valores dos registros selecionados se a quantidade for maior que 52.
Ex:
For I := 0 to GradeTableView1.Controller.SelectedRecordCount - 1 do begin
X := GradeTableView1.Controller.SelectedRows[I].Values[GradeTableView1CAMPO.index]
End;
Quando o (I) chega ao valor 52 da um erro de memória.
Alguém sabe como posso resolver esse problema?
Obrigado!
Mas o problema acontece se tentar acessar os valores dos registros selecionados se a quantidade for maior que 52.
Ex:
For I := 0 to GradeTableView1.Controller.SelectedRecordCount - 1 do begin
X := GradeTableView1.Controller.SelectedRows[I].Values[GradeTableView1CAMPO.index]
End;
Quando o (I) chega ao valor 52 da um erro de memória.
Alguém sabe como posso resolver esse problema?
Obrigado!
Emilio Filho
Curtidas 0
Respostas
Emilio Filho
29/08/2019
Problema resolvido..... Era apenas Desabilitar o GridMode do Data controler...
Quando o Grid funciona no GridMode, ele não carrega todos os dados no DataController. Carrega uma pequena parte dos dados, o suficiente para exibir apenas registros visíveis. No entanto, outros registros não são carregados instantaneamente. Eles são carregados apenas quando você os rola. No entanto, nesse caso, a parte antiga dos dados é descarregada do DataController e não conhece esses registros.
Por exemplo, o DataSet contém 100 registros. Quando o GridMode está ativado, o DataController carrega, por exemplo, 40 registros para preencher a área visível da tela. Em seguida, você rolar os dados do GridView. Nesse caso, o DataController carrega a próxima parte dos registros visíveis e descarrega os registros visíveis anteriores, que ficaram invisíveis devido à rolagem.
Portanto, o Grid não pode conter todos os seus dados no mesmo momento em que o GridMode é usado.
Quando o Grid funciona no GridMode, ele não carrega todos os dados no DataController. Carrega uma pequena parte dos dados, o suficiente para exibir apenas registros visíveis. No entanto, outros registros não são carregados instantaneamente. Eles são carregados apenas quando você os rola. No entanto, nesse caso, a parte antiga dos dados é descarregada do DataController e não conhece esses registros.
Por exemplo, o DataSet contém 100 registros. Quando o GridMode está ativado, o DataController carrega, por exemplo, 40 registros para preencher a área visível da tela. Em seguida, você rolar os dados do GridView. Nesse caso, o DataController carrega a próxima parte dos registros visíveis e descarrega os registros visíveis anteriores, que ficaram invisíveis devido à rolagem.
Portanto, o Grid não pode conter todos os seus dados no mesmo momento em que o GridMode é usado.
GOSTEI 0