加一个表和选取的表结构一致。
将选中的纪录添加到加的表中,用另外一个DBGRID显示该表中的内容。

解决方案 »

  1.   

    erp2(天涯劍):能给个例子吗?
      

  2.   

    動態新建內存表!
    function TfmGenConfirmSale.CreateTableInMemory(const AFieldDefs:TFieldDefs):TDataSet;
    Var
      TempTable:TClientDataSet;
    begin
      TempTable:=nil;
      Result:=nil;
      if AFieldDefs<>nil then
       begin
        try
          TempTable:=TClientDataSet.Create(Application);
          TempTable.FieldDefs.Assign(AFieldDefs);
          TempTable.CreateDataSet;
          Result:=(TempTable as TDataSet);
        Except
         if TempTable<>nil then
            TempTable.Free;
         Result:=nil;
         raise;
        end;
      end;
    end;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i, j: Integer;
      s: string;
    begin
      if DBGrid1.SelectedRows.Count>0 then
        with DBGrid1.DataSource.DataSet do
          for i:=0 to DBGrid1.SelectedRows.Count-1 do
          begin
            GotoBook(pointer(DBGrid1.SelectedRows.Items[i]));
            for j := 0 to FieldCount-1 do
            begin
            //在这里添加操作.如果首先定义了一个和源表结构相同的表,直接对其字段赋值.比如:
          dbgrid2.datasource.dataset.fields[j].value:=dbgrid1.datasource.dataset.fields[j].value//
    //如果没有定义这样一个表,那么使用临时表.方法和楼上同学一样.
         
            end;
            
          end;
    end;