无法动态地向datagridview添加行

时间:2016-09-03 12:23:45

标签: c# datagridview

DataTable dt = new DataTable();
DataRow dr = dt.NewRow();
dt.Columns.Add("name1", typeof(string));
dt.Columns.Add("name2", typeof(string));
dt.Columns.Add("name3", typeof(string));
dt.Columns.Add("name4", typeof(string));
dt.Columns.Add("name5", typeof(string));
for (int i = 0; i < 6; i++)
{
    try
    {
        dr[i] = dt.Rows.Add();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.ToString());
        return;
    }
}
dataGridView1.DataSource = dt;

我收到错误:&#34;找不到第5列和第34列。如果我将i < 6更改为i < 5,一切正常。如何添加超过5行?谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

    DataTable dt = new DataTable();
    dt.Columns.Add("name1", typeof(string));
    dt.Columns.Add("name2", typeof(string));
    dt.Columns.Add("name3", typeof(string));
    dt.Columns.Add("name4", typeof(string));
    dt.Columns.Add("name5", typeof(string));

    for (int i = 0; i < 6; i++)
    {
        try
        {
            dt.Rows.Add("a", "b", "c", "d", "e");
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
            return;
        }
    }
    dataGridView1.DataSource = dt;