C# 如何在数据网格视图窗口窗体中计算第3列中的第1列和第2列

C# 如何在数据网格视图窗口窗体中计算第3列中的第1列和第2列,c#,asp.net,C#,Asp.net,对于windows窗体中使用C#的数据网格视图,我希望在第3列中减去第1列和第2列。据我所知,我们需要给单元格内容单击事件 //how to specify click only for column3 private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e) { //here i need to give like column3 = column2 - column1

对于windows窗体中使用C#的数据网格视图,我希望在
第3列
中减去
第1列
第2列
。据我所知,我们需要给单元格内容单击事件

//how to specify click only for column3
private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e) {
  //here i need to give like column3 = column2 - column1 

}

我在这里给出一个代码示例,演示如何在数据表中使用计算列。这对于您的目的可能已经足够了

public partial class Form1 : Form
{
    DataTable dt;
    public Form1()
    {
        InitializeComponent();
        dt = new DataTable();
        dt.Columns.Add(new DataColumn("col1", typeof(int)));
        dt.Columns.Add(new DataColumn("col2", typeof(int)));
        dt.Columns.Add(new DataColumn("col3", typeof(int), "col2 - col1"));
        var newRow = dt.NewRow();
        newRow[0] = 5;
        newRow[1] = 7;
        dt.Rows.Add(newRow);
        newRow = dt.NewRow();
        newRow[0] = 12;
        newRow[1] = 19;
        dt.Rows.Add(newRow);
        dataGridView1.AutoGenerateColumns = true;
        dataGridView1.DataSource = dt;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        dt.Rows[0][0] = 10;
    }
}

按钮点击是故意粗糙的,但我希望它足以证明,如果计算中的一个字段发生变化,计算将立即刷新。

可能重复的值是否希望永久计算该值,还是仅在点击事件中计算该值?