每个按钮的新行在数据网格视图中单击

时间:2013-03-12 07:08:01

标签: c# datagridview

每次点击时如何显示新行?因为它的作用是替换第一行的值而不是添加新行。

  private void button2_Click(object sender, EventArgs e)
 {
      DataTable dtbl = new DataTable();
      dtbl.Columns.Add("1st Header");
      dtbl.Columns.Add("2nd Header");
      dtbl.Columns.Add("3rd Header");

      dtbl.Rows.Add("1","2","3");                

      dgv.DataSource = dtbl;
 }

1 个答案:

答案 0 :(得分:1)

因为每次点击都会初始化一个新的数据表。 将您的DataTable初始化和数据源分配放到另一个函数中,并将DataTable设为私有,以便您可以在按钮单击中使用它 -

    DataTable dtbl;
    private void InitializeDataTable()
    {
        dtbl = new DataTable();
        dtbl.Columns.Add("1st Header");
        dtbl.Columns.Add("2nd Header");
        dtbl.Columns.Add("3rd Header");

        dgv.DataSource = dtbl;
    }

现在,在按钮单击中,使用DataTable.NewRow -

添加新行
    private void button2_Click(object sender, EventArgs e)
    {
        DataRow newRow = dtbl.NewRow();
        dtbl.Rows.Add(newRow);

        dgv.Refresh();
    }