My datagridview cellvalue changed事件不起作用..C#&;SQL Server 2008

My datagridview cellvalue changed事件不起作用..C#&;SQL Server 2008,c#,sql-server-2008,C#,Sql Server 2008,我的代码中有一个小错误。我的datagridview单元格值更改事件不起作用。当我添加任何数据时,datagrid视图中的行应该显示文本框中不工作的总量。你能帮我吗 代码: private void dataGridView1\u CellValueChanged(对象发送方,DataGridViewCellEventArgs e) { 如果(e.ColumnIndex==5) txtNetAmt.Text=CellSum().ToString(); 整数和=0; 对于(int i=0;i

我的代码中有一个小错误。我的datagridview单元格值更改事件不起作用。当我添加任何数据时,datagrid视图中的行应该显示文本框中不工作的总量。你能帮我吗

代码:

private void dataGridView1\u CellValueChanged(对象发送方,DataGridViewCellEventArgs e)
{
如果(e.ColumnIndex==5)
txtNetAmt.Text=CellSum().ToString();
整数和=0;
对于(int i=0;i
截图:


检查是否已声明事件绑定,如下所示:

C#代码:


检查是否已声明事件绑定,如下所示:

C#代码:


但您可以设置断点并告诉我们您在哪一点出错?事实上,我没有收到任何错误。只是它没有在应该显示的文本框中显示值。我是初学者。您是否在代码中获取小计值。ToString()值请尝试在add watch中进行检查。是的,我正在获取小计值。ToString()先生。实际上,这段代码的工作原理与按钮单击事件相同。但我希望它能处理cellvalue changed事件。您的图像将DiscAmt显示为第4列,将TotalAmt显示为第5列,但您的代码使用索引4和5,它们应该是3和4吗?因为索引行中的单元格使用的是该列的索引,而不是位置
sum+=Convert.ToInt32(dataGridView1.Rows[i].单元格[4].值);DiscountedSum+=Convert.ToInt32(dataGridView1.Rows[i].Cells[3].Value)但您可以设置断点并告诉我们在哪一点出现错误?事实上,我没有收到任何错误。只是它没有在应该显示的文本框中显示值。我是初学者。您是否在代码中获取小计值。ToString()值请尝试在add watch中进行检查。是的,我正在获取小计值。ToString()先生。实际上,这段代码的工作原理与按钮单击事件相同。但我希望它能处理cellvalue changed事件。您的图像将DiscAmt显示为第4列,将TotalAmt显示为第5列,但您的代码使用索引4和5,它们应该是3和4吗?因为索引行中的单元格使用的是该列的索引,而不是位置
sum+=Convert.ToInt32(dataGridView1.Rows[i].单元格[4].值);DiscountedSum+=Convert.ToInt32(dataGridView1.Rows[i].Cells[3].Value)我应该在哪里声明它?this.dataGridView1.CellValueChanged+=new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1\u CellValueChanged);this.dataGridView1.CellValueChanged+=新系统.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1\u CellValueChanged);这一行在form.designer.cs上,我应该在哪里声明它?this.dataGridView1.CellValueChanged+=new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1\u CellValueChanged);this.dataGridView1.CellValueChanged+=新系统.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1\u CellValueChanged);这一行在form.designer.cs上
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
    if (e.ColumnIndex == 5)
        txtNetAmt.Text = CellSum().ToString();

    int sum = 0;

    for (int i = 0; i < dataGridView1.Rows.Count; ++i)
    {
        sum += Convert.ToInt32(dataGridView1.Rows[i].Cells[5].Value);
    }

    txtNetAmt.Text = sum.ToString();
    int DiscountedSum = 0;

    for (int i = 0; i < dataGridView1.Rows.Count; ++i)
    {
        DiscountedSum += Convert.ToInt32(dataGridView1.Rows[i].Cells[4].Value);
    }

    txtDiscamt.Text = DiscountedSum.ToString();
    int SubTotal = sum + DiscountedSum;
    txtSubTotalamt.Text = SubTotal.ToString();
}
this.dataGridView1.CellValueChanged += new 
DataGridViewCellEventHandler(dataGridView1_CellValueChanged);