我試圖通過處理事件改變第一(supplierDiscountPercetangeSpinEdit)SpinEdit值時,另一個(supplierPriceWithDiscountSpinEdit)SpinEdit控制設定值:如何處理值改變
private void supplierDiscountPercetangeSpinEdit_EditValueChanging(object sender,
DevExpress.XtraEditors.Controls.ChangingEventArgs e)
{
try
{
decimal supplierPrice, supplierDiscount, supplierPriceWithDiscount;
supplierPrice = Convert.ToDecimal(supplierPriceSpinEdit.EditValue);
supplierDiscount = (decimal)e.NewValue;
supplierPriceWithDiscount = Discount.DoMath(
supplierPrice, supplierDiscount);
supplierPriceWithDiscountSpinEdit.EditValue = Convert.ToDecimal(
supplierPriceWithDiscount);
}
catch
{
throw; // Additional information: Specified cast is not valid.
}
}
這種方法工作的很好,當我使用Up &控制上的向下按鈕,但在按鍵異常時顯示消息其他信息:指定的轉換無效。
也許問題是線:supplierDiscount = (decimal)e.NewValue;
我認爲它不喜歡'(十進制)e.NewValue'。你是否設置了一個「斷點」來查看「e.NewValue」在那個點上? – KSdev
假設ValueMember是十進制是否安全? –
跟蹤並確定哪一行。寫e.ToString()。在發佈之前先做一些調試。 – Paparazzi