现在有两个表,一个是入库的,一个出库的,现在想把入库中的数据(在dbgrid中显示)用鼠标选择并写入到出库表中,请问如何写?

解决方案 »

  1.   

    比如:
    入库表中的字段是:name,guige
    出库表中的字段与入库中的一样
    入库表中有100条记录,在dbgrid中显示,现在用鼠标选择其中的20条,然后单击右键,弹出菜单,再点击“出库”,把选中的记录自动添加到出库表中!!
      

  2.   

    1.你的入库表DbGrid1.Options的dgMutiSelect一定要设为True
    2.var
      i:integer;
    begin
      for i:=0 to DbGrid1.SelectedRows.Count-1 do
      begin
        DbGrid1.DataSource.dataSet.GotoBook(DbGrid1.SelectedRows[i]);
        //DestDataSet出库表
        DestDataSet.Append;
        DestDataSEt.FieldByName('Field1').Assign(DbGrid1.DataSource.dataSet.FieldByName('Field1'));
        DestDataSEt.FieldByName('Field2').Assign(DbGrid1.DataSource.dataSet.FieldByName('Field2'));
        ....................................
        DestDataSet.Post;
      end;
    end;
      

  3.   

    DestDataSet是什么呀???
    可否加入注释呀??
    我看不太懂呀?
    谢谢大家!!
      

  4.   

    楼主wycg_cnh20(伤心郁闷中) 加了注释的嘛!//DestDataSet出库表
      

  5.   

    不好意思,我刚才写错了一点1.你的入库表DbGrid1.Options的dgMutiSelect一定要设为True
    2.var
      i:integer;
    begin
      //遍历所有的选中行
      for i:=0 to DbGrid1.SelectedRows.Count-1 do
      begin
        //DbGrid1.DataSource.DataSet  为入库表,你自己去替换
        DbGrid1.DataSource.dataSet.GotoBook(Pointer(DbGrid1.SelectedRows.Items[i]));
        //DestDataSet出库表  为入库表,你自己去替换
        DestDataSet.Append;
        ////从入库表把信息增加到出库表
        DestDataSEt.FieldByName('Field1').Assign(DbGrid1.DataSource.dataSet.FieldByName('Field1'));  //从入库表把信息增加到出库表
        DestDataSEt.FieldByName('Field2').Assign(DbGrid1.DataSource.dataSet.FieldByName('Field2'));
        ....................................
        DestDataSet.Post;
      end;
    end;
      

  6.   

    请问一下wycg_cnh20(伤心郁闷中) (
    如果我想把入库表里所选的纪录删除怎么处理呢,等待中