0

私はWindowsフォームでバインディングソースを使用しています。ユーザーが分割払いに応じて元金を入力すると、毎月の金額が計算されprincipalます。その計算作業を完璧に解決するにはどうすればよいですか。

 private void prol04DataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
        {
         TextBox tx = e.Control as TextBox;

         DataGridViewTextBoxCell cell = prol04DataGridView.CurrentCell as DataGridViewTextBoxCell;


           if (tx != null && cell.OwningColumn == prol04DataGridView.Columns[5])
             {
              tx.TextChanged -= new EventHandler(tx_TextChanged);
              tx.TextChanged += new EventHandler(tx_TextChanged);
             }

        }

これは私のテキスト変更イベントです

void tx_TextChanged(object sender, EventArgs e)
    {

   try
     {
       TextBox Principal = (TextBox)sender;
       Prol04 _ded = (Prol04)prol04BindingSource.Current;
       /* Here P is PrinciplAmount*/
       P = Convert.ToDecimal(Principal.Text);
       Installment = Convert.ToDecimal(prol04DataGridView.CurrentRow.Cells[6].Value);
       mnthPay = P / Installment;
       _ded.MonthlyAmount = mnthPay;
       _ded.Instalments =Convert.ToInt32(Installment);
       prol04DataGridView.Refresh();

     }

    catch (Exception ex)
      {
        throw (ex);
     }
}
![Datagrid Where i perform event][1]
4

1 に答える 1

0

を使用して、イベントDatagridvirew.CellValueChangedでやりたいことを置き換えてみてください。tx_TextChanged

于 2013-06-05T06:17:48.603 に答える