简体   繁体   English

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

[英]New row per button click in data grid view

How can I display a new row everytime I click ? 每次单击如何显示新行? Because what it do is it replaces the value of the first row instead of adding a new line. 因为它所做的是替换第一行的值,而不是添加新行。

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

Because on every click you initialize a new data table. 因为每次单击都会初始化一个新的数据表。 Put your DataTable initialization and datasource assignment into another function and make your DataTable private so that you can use it in button click - 将您的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;
    }

Now, in button click, add the new row using DataTable.NewRow - 现在,点击按钮,使用DataTable.NewRow添加新行-

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

        dgv.Refresh();
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM