以编程方式将行添加到无界数据网格视图

时间:2011-07-30 04:03:03

标签: datagridview

我将值从一个表单发送到另一个表单,然后想要显示在dgv中,

我正在尝试这个,执行过程中没有错误,但它没有在dgv中显示数据..

lineItemsDGV.Rows.Add();

int RowIndex = lineItemsDGV.RowCount - 1;
DataGridViewRow NewRow =lineItemsDGV.Rows[RowIndex];
NewRow.Cells[0].Value = item.Product_id;
NewRow.Cells[1].Value = item.product_name;
NewRow.Cells[2].Value = item.specification;
NewRow.Cells[3].Value = item.unit_price;
NewRow.Cells[4].Value = item.unit_price * 1;

3 个答案:

答案 0 :(得分:3)

你很亲密。

您可以使用调用DataGridViewRowCollection.Rows.Add()方法的返回值,该方法是刚添加的行的索引值。

将您的代码更改为:

int RowIndex = lineItemsDGV.Rows.Add();
DataGridViewRow NewRow = lineItemsDGV.Rows[RowIndex];
NewRow.Cells[0].Value = item.Product_id;
NewRow.Cells[1].Value = item.product_name;
NewRow.Cells[2].Value = item.specification;
NewRow.Cells[3].Value = item.unit_price;
NewRow.Cells[4].Value = item.unit_price * 1;

答案 1 :(得分:1)

我就是这样做的:

DataRow rowToAdd= myTable.NewRow(); 

rowToAdd["ProductId"] = item.Product_id;
rowToAdd["ProductName"] = item.product_name;
rowToAdd["Specification"] = item.specification;
rowToAdd["UnitPrice"] = item.unit_price;

myTable.Add(rowToAdd);

将数据表绑定到gridview。

答案 2 :(得分:0)

我知道该线程很旧,但是今天发现此页面很有用,这就是我完成添加不同于先前解决方案的新行的方式。

假设: datagridview具有在设计时指定的列。就我而言,我有3个文本列。

解决方案是使用 DataGridViewRowCollection.Add 功能,并传递一个参数数组,该数组包含用逗号分隔的每个列值的列表。

DataGridView1.Rows.Add("Value 1", "Value 2", "Value3")

使用这种方法,无需使用BeginEdit,Update或Refesh dgv函数。