【解決方法】datagridview セルのテキスト変更イベントを作成するにはどうすればよいですか


こんにちは

カテゴリ用のdvgがあり、このようにすべての行でいくつかの計算を行います [ Quantity * Price – Discount = Total ] すべてのセルの合計に値を入力すると、セルが自動的に新しい値に変更されますコードを添付します合計を表示するために試しましたが、次の行に移動して値の入力を開始すると [ Quantity * Price – Discount ] すべての合計値が新しい値に変更されました。

私が試したこと:

C#
private void grid1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
           {
               if ( grid1.CurrentCell.ColumnIndex == 3)
               {
                   TextBox tb = (TextBox)e.Control;
                   tb.TextChanged += new EventHandler(tb_TextChanged);
               }

              if (grid1.CurrentCell.ColumnIndex == 5)
              {
                  TextBox tb5 = (TextBox)e.Control;
                  tb5.TextChanged += new EventHandler(tb5_TextChanged);
              }
              if (grid1.CurrentCell.ColumnIndex == 4)
              {
                  TextBox tb4 = (TextBox)e.Control;
                  tb4.TextChanged += new EventHandler(tb4_TextChanged);
              }
           }
tb5_TextChanged , tb4_TextChanged , tb3_TextChanged all same code 
C#
<pre>void tb5_TextChanged(object sender, EventArgs e)
        {
            var c5 = (sender as TextBox).Text;

            double No3 = 0;
            double No2 = 0;
            double No1 = 0;

            if (grid1.CurrentCell.ColumnIndex == 5)
                label8.Text = c5;
            
            if (grid1.CurrentCell.Value != null)
            {
                for (int i = 0; i < grid1.RowCount; i++)
                {
                    if (grid1.Rows[i].Cells[0].Value.ToString() != null && grid1.Rows[i].Cells[1].Value.ToString() != null)
                    {
                        if (Double.TryParse(label6.Text, out No2) && Double.TryParse(label7.Text, out No1) && Double.TryParse(label8.Text, out No3))
                            grid1.Rows[i].Cells[6].Value = (No1 * No2 - No3).ToString();
                    }
                }
            }
             
        }

解決策 1

ここで答えを見てください: DataGridView セルの自動計算[^]

コメント

タイトルとURLをコピーしました