DevExpress.XtraEditors.TextEdit綁定數據後,不輸入內容,出現 “Invalid Value” 無效值錯誤
阿新 • • 發佈:2018-04-25
給定 bind 遇到 obj span pla 字段類型 圖片 焦點
使用C#做桌面應用開發時經常會將數據綁定到控件,便於接受界面錄入結果
然而,當字段類型為數值型類型(如:int,decimal, float等)時 ,如果沒有給定內容,當控件失去焦點時,出現“Invalid Value” 無效值錯誤
如:
private void Form1_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add("ID",typeof(int)); dt.Columns.Add(View Code"Name",typeof(string)); dt.Rows.Add(999, "zhangsan"); textEdit1.DataBindings.Add("EditValue", dt, "ID",true); textEdit2.DataBindings.Add("EditValue", dt, "Name", true); }
界面
清空ID內容,並使其失去輸入焦點時效果如下:
如果字段是string類型卻不會有這個問題,遇到這個問題時,我以為是觸發了事件 ,但是顯然並沒有手動綁定任何事件,於是我最開始使用最笨的方法強制將其改為string類型,然後註冊一個編輯事件去控制輸入數值內容。其實這個情況只是改動一個屬性即可:
textEdit1.CausesValidation = false;//該屬性默認為True,所以不容易發現
DevExpress.XtraEditors.TextEdit綁定數據後,不輸入內容,出現 “Invalid Value” 無效值錯誤