向DataGridView C#添加新行

时间:2014-02-24 15:04:10

标签: c# datagridview row

我正在寻找一种向数据网格添加新行的简单方法。那么,我有什么:

dataGridView2.ColumnCount = 4;
int w = 0;
foreach (var item in tInArr)
{...
dataGridView2.Rows.Add();
dataGridView2[0, w].Value = muTat3.ToString();
dataGridView2[1, w].Value = item.ToString();
....
w++;}

我的错误在哪里?我在这里读过一些文章,但没有答案。

3 个答案:

答案 0 :(得分:2)

如果您没有数据源,那么您可以采用以下方式:

  int rowIndex = dataGridView1.Rows.Add();
  dataGridView1[0, rowIndex].Value = "value1"; // 0 for first column
  dataGridView1[1, rowIndex].Value = "value2"; // 1 for second column
  rowIndex = dataGridView1.Rows.Add();
  dataGridView1[0, rowIndex].Value = "value3";
  dataGridView1[1, rowIndex].Value = "value4";
代码中的

应该是:

// dataGridView2.ColumnCount = 4;  
int w = 0;
foreach (var item in tInArr)
{...
  w = dataGridView2.Rows.Add();
  dataGridView2[0, w].Value = muTat3.ToString();
  dataGridView2[1, w].Value = item.ToString();
  ....
  //w++; this is not required
}

答案 1 :(得分:1)

在这里你可以使用datable然后像这样迭代你的循环:

 foreach (DataRow rows in dt.Rows)
 {..

     int w =  dataGridView2.Rows.Add();

     dataGridView2[0, w].Value =  rows[0].ToString();
     dataGridView2[1, w].Value = rows[1].ToString();
  }

答案 2 :(得分:0)

首先,您可以创建数据表,然后可以将datagrid的数据源设置得很长但很容易维护。

像这样

DataTable table = new DataTable();
table.Columns.Add("Check", typeof(bool));
table.Columns.Add("Path", typeof(string));
table.Columns.Add("Date", typeof(DateTime));


table.Rows.Add(false, "", DateTime.Now);
dataGridView2.DataSource = table;