如何使用程序动态添加clientdataset1的字段列表,和动态删除字段列表呢,请高手帮忙

解决方案 »

  1.   

    for i:=1 to 5 do
    begin
    for j:=0 to cdsSelect.FieldCount -1 do
    begin
    with cdsPrint.FieldDefs.AddFieldDef do
    begin
    DataType := cdsSelect.Fields[i].DataType;
    if cdsSelect.Fields[i].DataType = ftString then
    Size := cdsSelect.Fields[i].Size;
    Name := 'A'+Format('%.2d',[i])+Format('%.2d',[j]);
    end;
    end;
    end;
    cdsPrint.CreateDataSet;
      

  2.   

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      with ClientDataSet1 do
      begin
        with FieldDefs.AddFieldDef do 
        begin
          DataType := ftInteger;
          Name := 'Field1';
        end;
        with FieldDefs.AddFieldDef do
        begin
          DataType := ftString;
          Size := 10;
          Name := 'Field2';
        end;
        with IndexDefs.AddIndexDef do    begin
          Fields := 'Field1';
          Name := 'IntIndex';
        end;
        CreateDataSet;
      end;
    end;