c#- 每次单击按钮时,相关项(按钮名称为面包)计数都应在数据网格视图的数据表行中递增

c#- Every time a buttton is clicked related item (Button name as Bread) count should be incremented in Data Table row of data grid view

提问人:Nitu 提问时间:9/25/2023 更新时间:9/25/2023 访问量:36

问:

int bread = 0;
     DataTable dt = new DataTable();
     DataRow dr ;`
    
    private void Form1_Load(object sender, EventArgs e)
    {
    dt.Columns.Add("Food");
    dt.Columns.Add("Amount");
    dt.Columns.Add("Table");
    }
    
   private void btnBread_Click(object sender, EventArgs e)
   {
    dr = dt.NewRow();
    bread ++;
            dr["Food"] = btnBread.Text;
            dr["Amount"] = bread;
            dr["Table"] = 1;
            dt.Rows.Add(dr);`
    
    }
    

我尝试递增var(bread),但每次它都在创建新行 当我单击一个 buttton(bread) 时,会在下一行添加递增的计数器。 如何仅增加计数器和其他数据应该相同。

C DataGridView -2.0 C#-DataTable

评论

1赞 Power Mouse 9/25/2023
为什么不使用:dt。Rows.Count() +1 或将面包计数器作为属性 {get;设置;}

答:

0赞 RysteQ 9/25/2023 #1

代码完全按照你的要求执行。每次单击该按钮时,您都会创建一个名为 dr 的新行,然后递增名为 bread 的变量,然后配置新行并将其添加到表中。

我认为你应该重新考虑你对手头问题的方法。

编辑:

我认为下面的代码可以解决问题,只是在我下班休息时组装了一些东西,所以测试它以确保

private void Form1_Load(object sender, EventArgs e)
{
    data_table.Columns.Add("Food");
    data_table.Columns.Add("Amount");
    data_table.Columns.Add("Table");

    data_table.Rows.Add(data_table.NewRow());
}

private void button1_Click(object sender, EventArgs e)
{
    this.amount++;

    this.data_table.Rows[0][1] = amount;
}

private DataTable data_table = new();
private int amount = 0;