在datagridview中添加新行

时间:2012-05-04 14:58:09

标签: c# winforms datagridview

我想在gridview中添加新行。每个细胞的值来自底部空白细胞。 如何获取单元格的值?

private void AddRow_Click(object sender, EventArgs e)
    {
        DataTable dt = ds.Tables["test"];
        DataRow dr = dt.NewRow();
        // not sure how to add
    }

image 另请注意列中有一个复选框。

感谢。

3 个答案:

答案 0 :(得分:1)

可以使用代码

//define datatable (with all columns you want to have)...
  DataRow dr;
  int lastRow = this.dataGridView1.Rows.Count-2;
  for(int i=0;i<dataGridView1.Columns.Count; i++)
  {
     // grab the values from the last row cells.
     dr[i] = dataGridView1[i, lastRow].Value;
   }
     dataTable.Rows.Add(dr);

自我解决。

答案 1 :(得分:0)

DataTable myTable = new DataTable();
DataColumn values = new DataColumn("Test");
myTable.Columns.Add(values);
DataRow rd = myTable.NewRow();
rd["Test"] ="";
myTable.Rows.Add(rd);
datagridview1.DataSource = myTable;

答案 2 :(得分:-1)

您可以使用Add方法将Rows添加到数据表中。

dt.Rows.Add(dr);

您可以使用重载的括号访问值。

dt.Rows[a][b]

将为您提供某一行和某列的值

要获取Checkbox的值,您可以将从dt.Rows [a] [b]检索到的对象强制转换为复选框,然后获取Checked属性的值。

((CheckBox)dt.Rows[a][b]).Checked

希望这有帮助,

马特