本文實例演示了DevExpress實現GridControl單元格編輯驗證的方法,比較實用的功能,具體方法如下:
主要功能代碼如下:
/// <summary>/// 自定義單元格驗證/// </summary>/// <param name="view">GridView</param>/// <param name="e">BaseContainerValidateEditorEventArgs</param>/// <param name="fieldNameHandler">委托</param>/// <param name="errorHanlder">委托</param>/// <param name="errorText">當驗證不通過對時候,錯誤提示信息文字</param>public static void CustomValidatingEditor(this GridView view, BaseContainerValidateEditorEventArgs e, Predicate<string> fieldNameHandler, Predicate<object> errorHanlder, string errorText){ /*說明 *在ValidatingEditor事件使用 *eg: *string[] workType = new string[4] { "-1", "關閉但不刪除", "啟用", "刪除" }; *void gvLampConfig_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e) *{ * GridView _view = sender as GridView; * _view.CustomValidatingEditor(e, fieldName => fieldName.Equals("TLampWorkStatus"), value => !workType.Contains<string>(value.ToString()), "若想設置為不修改,請輸入-1即可"); * } */ if (fieldNameHandler(view.FocusedColumn.FieldName)) { if (errorHanlder(e.Value)) { e.Valid = false; e.ErrorText = errorText; } }}
代碼使用方法如下:
string[] workType = new string[4] { "-1", "關閉但不刪除", "啟用", "刪除" };void gvLampConfig_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e){ GridView _view = sender as GridView; _view.CustomValidatingEditor(e, fieldName => fieldName.Equals("TLampWorkStatus"), value => !workType.Contains<string>(value.ToString()), "若想設置為不修改,請輸入-1即可");}
新聞熱點
疑難解答