如何向datagridview列添加更多单元格?

时间:2015-12-31 21:14:17

标签: c# .net winforms

DataGridView

现在我有一个单元格,我在设计器中添加了它,但是如果我想在我的代码中添加更多单元格?

我在构造函数中尝试过:

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;

指数超出范围。必须是非负数且小于集合的大小

1 个答案:

答案 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;
    }