DevExpress实现GridControl单元格编辑验证的方法
本文实例演示了DevExpress实现GridControl单元格编辑验证的方法,比较实用的功能,具体方法如下:
主要功能代码如下:
///<summary>
///自定义单元格验证
///</summary>
///<paramname="view">GridView</param>
///<paramname="e">BaseContainerValidateEditorEventArgs</param>
///<paramname="fieldNameHandler">委托</param>
///<paramname="errorHanlder">委托</param>
///<paramname="errorText">当验证不通过对时候,错误提示信息文字</param>
publicstaticvoidCustomValidatingEditor(thisGridViewview,BaseContainerValidateEditorEventArgse,Predicate<string>fieldNameHandler,Predicate<object>errorHanlder,stringerrorText)
{
/*说明
*在ValidatingEditor事件使用
*eg:
*string[]workType=newstring[4]{"-1","关闭但不删除","启用","删除"};
*voidgvLampConfig_ValidatingEditor(objectsender,DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgse)
*{
*GridView_view=senderasGridView;
*_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=newstring[4]{"-1","关闭但不删除","启用","删除"};
voidgvLampConfig_ValidatingEditor(objectsender,DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgse)
{
GridView_view=senderasGridView;
_view.CustomValidatingEditor(e,fieldName=>fieldName.Equals("TLampWorkStatus"),value=>!workType.Contains<string>(value.ToString()),"若想设置为不修改,请输入-1即可");
}