Fórum ClientDataSet pulando registros #593166
15/05/2018
0
Ola tenho um ClientDataSet que possui 85 registros, esse cds é criado em tempo de execução, quando eu percorro esse cds ele inicia com o RecNo no 1 o que está certo e ao usar o Next ele vai para o 2, até ai tudo certo porém na terceira vez ao da o Next ele avança para o registro 17 e depois já vai para o 85. Alguem poderia me ajudar com essa questão?
Desde já agradeço!
Desde já agradeço!
Brendo
Curtir tópico
+ 0
Responder
Posts
16/05/2018
Raimundo Pereira
Bom dia.
Fiz um teste aqui e funciona como o esperado.
Como você não postou seu código segue o teste que eu fiz.
Fiz um teste aqui e funciona como o esperado.
Como você não postou seu código segue o teste que eu fiz.
var cdsTemp : TClientDataSet;
dsTemp : TDataSource;
Grid_Temp :TDBGrid;
procedure TFP.Criar_CDS;
begin
cdsTemp := TClientDataSet.Create(nil);
cdsTemp.Close;
cdsTemp.FieldDefs.Clear;
cdsTemp.FieldDefs.add('ID',ftInteger);
cdsTemp.FieldDefs.add('caminhoIM',ftString,100);
cdsTemp.CreateDataSet;
dsTemp := TDataSource.Create(nil);
dsTemp.DataSet := cdsTemp;
Grid_Temp := TDBGrid.Create(nil);
Grid_Temp.DataSource:=dsTemp;
Grid_Temp.Align:=alBottom;
Grid_Temp.Parent:=fp;
Grid_Temp.Visible:=true;
cdsTemp.open;
end;
procedure TFP.BTN_INCLUIRClick(Sender: TObject);
var
i, o: integer;
begin
i := 85;
for o := 0 to i do
begin
cdsTemp.open;
cdsTemp.Insert;
cdsTemp.FieldByName('ID').AsInteger := o;
cdsTemp.FieldByName('caminhoIM').AsString := 'C:\\APLIC\\TESTE' + IntToStr(o);
cdsTemp.Post;
cdsTemp.Close;
cdsTemp.open;
cdsTemp.First;
end;
end;
procedure TFP.BTN_NEXTClick(Sender: TObject);
begin
cdsTemp.Next;
end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)