0

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

  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;
 }
4

1 回答 1

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();
    }
于 2013-03-12T07:14:44.797 回答