繁体   English   中英

将Datagridview行从一个网格添加到另一个网格

[英]Adding Datagridview rows from one grid to another

我有两个窗体Form1(DGV1)和Form2(DGV2),两个窗体上都有Datagridview控件。

在Form1上有一个到Form2的按钮链接,用户可以在其中向Form1 datagridview(DGV1)添加行。在Form2 Datagridview中,第一列中有一个复选框,用户一次只能选择一行,因此有两个按钮在Form2上1)完成2)添加项目

当用户通过依次选择行来单击“添加项目”时,必须将行添加到Form1上的datagridview中,并且当单击“完成”按钮时,应该显示包含所有行的表单1。

int index = objQM.gvItemDetails.Rows.Add();
int Sno = index + 1;
string Desc = gvInventory.Rows[RowIndex].Cells[6].Value.ToString();
int Sellqty = LoadSellQty();
 decimal UnitCost = Convert.ToDecimal(gvInventory.Rows[RowIndex].Cells[8].Value.ToString());
 decimal Amount = LoadSellQty() * UnitCost;
 objQM.gvItemDetails.Rows.Insert(index,false, Sno, Desc, Sellqty, UnitCost, Amount);

我可以向Form1 datagridview中添加一行,但是当添加第二行时,先前添加的行会丢失。

您能否提出解决此问题的方法?

谢谢。

您要为在gvInventory选择的每一行添加父网格中的两行(这是想要的工作方式吗?),如果不尝试的话:

int index = objQM.gvItemDetails.Rows.Add();
DataGridViewRow row = objQM.gvItemDetails.Rows[index]; //here you get a reference to added row
row.Cells[0] = false;
row.Cells[1] = index + 1; //old Sno
row.Cells[2] = gvInventory.Rows[RowIndex].Cells[6].Value.ToString();
row.Cells[3] = LoadSellQty();
row.Cells[4] = Convert.ToDecimal(gvInventory.Rows[RowIndex].Cells[8].Value.ToString());
row.Cells[5] = LoadSellQty() * UnitCost;

这样,您可以添加新行并用值填充它。 从您提供的代码尚不清楚为什么第一行会丢失,因此也许我将需要更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM