我想在DBGRID显示的记录中任意选种若干条记录,通过报表浏览写了以下代码,但现在提示丢失数据提供者,怎么回事呀我是新手好不容易写到这里,可。。。。我快崩溃了。。。。。。 VAR aclient:Tclientdataset; var k,j,i:integer; begin aclient:=Tclientdataset.Create(nil); aclient.Open; aclient.Edit; for k:=0 to adoquery1.FieldCount-1 do aclient.Fields.Add(adoquery1.Fields.Fields[k]);
aclient.CreateDataSet; try if dbgrid1.SelectedRows.Count>0 then with dbgrid1.DataSource.DataSet do for i:=0 to dbgrid1.SelectedRows.Count-1 do begin gotobookmark(pointer(dbgrid1.SelectedRows.ClassInfo)); for j:=0 to dbgrid1.DataSource.DataSet.FieldCount-1 do aclient.Fields[j].Value:=adoquery1.Fields[j].Value; end; finally aclient.Free; end;
----------------------------------------------
-
Var Client1:TClientDataset; i:integer; begin Client1 := TClientdataset.Create(Self); For I := 0 to Adoquery1.FieldDefs.Count-1 do Begin with Client1.FieldDefs.AddFieldDef do begin DataType := Adoquery1.FieldDefs.Items[I].DataType; Name := Adoquery1.FieldDefs.Items[I].Name; Size := Adoquery1.FieldDefs.Items[I].Size; Precision := Adoquery1.FieldDefs.Items[I].Precision; end; End; Client1.CreateDataSet; ..... End;
----------------------------------------------
-