现在我有一个单元格,我在设计器中添加了它,但是如果我想在我的代码中添加更多单元格?
我在构造函数中尝试过:
DataGridViewRow row = (DataGridViewRow)dataGridView1.Rows[0].Clone();
row.Cells[0].Value = "XYZ";
row.Cells[1].Value = 50.2;
dataGridView1.Rows.Add(row);
但是获得例外:
row.Cells[1].Value = 50.2;
指数超出范围。必须是非负数且小于集合的大小
答案 0 :(得分:0)
是的,你应该得到一个例外。看看下面的代码。对于row.Cells[1]
,您实际上是指网格视图中的第二列,显然不存在,因此最终结果。
row.Cells[1].Value = 50.2;
如果您想在网格中添加另一列,请使用设计器表面添加该列(或)创建一个包含所需列的DataTable
并将其设置为gridview的DataSource
。
如何创建DataTable并将其附加到GridView?
搜索Google
修改强>
如果您仍在努力理解我的评论,那么这就是我想说的(示例代码)
public Form1()
{
InitializeComponent();
DataTable dt = new DataTable();
DataColumn dc = new DataColumn("Message Subject");
dt.Columns.Add(dc);
DataRow dr = dt.NewRow();
dr[dc] = "test";
DataRow dr1 = dt.NewRow();
dr1[dc] = "test123";
dt.Rows.Add(dr);
dt.Rows.Add(dr1);
this.dataGridView1.DataSource = dt;
}