• 关于DevExpress GridView事件


    //RowCellStyle 行单元格样式事件
    //用于设置行单元格样式
    //这里举例 如果状态为0则白背景色改为蓝绿色
     
    if(e.RowHanle>=0)//当前视图的所有行
     {
         DataRow dr =this.view.GetRow(e.RowHanle);//获取所有行的数据
        if(dr==null) return;
         if(dr["AGE"]==0) 
         {
               e.Appearance.Backcolor=Color.YellowGreen;
         }       
     }
     //ValidatingEditor 验证编辑器事件   
     //验证view中某一列的值不能相同 
     //例:用户编号不能相同 USER_CODE
     private void viewUser_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
             {
                 //如果当前焦点列为用户编码列USER_CODE 
                 if (this.viewUser.FocusedColumn == this.viewUser.Columns[DE.GmUser.USER_CODE])
                 {
                     //e.Value当前列的值
                     if (e.Value == null || string.IsNullOrEmpty(e.Value.ToString())) return;
     
                     string usrCode = e.Value.ToString();
                     int currowHandler = this.viewUser.FocusedRowHandle;//当前焦点行的行号
                     int rowHandler = this.viewUser.LocateByValue(0, this.viewUser.FocusedColumn, usrCode);//从第一行开始查找该列相同的userCode,返回行号。view.(从哪里开始查找,列名,要查找的值)
     
                     if (rowHandler > -1)
                     {
                         if (rowHandler != currowHandler)
                         {
                             if (this.viewUser.FocusedValue != null)
                             {
                                 //提示信息:用户编号不能重复
                             }
                             e.Valid = false;//提示单元格的值无效 单元格会出现一个红色的×
                             this.viewUser.HideEditor();//隐藏编辑器,放弃次单元格所做的更改
                             this.viewUser.ShowEditor();//显示编辑器
                         }
     
                     }
                     else
                     {
                         rowHandler = this.viewUser.LocateByValue(this.viewUser.RowCount - 1, this.viewUser.FocusedColumn, usrCode);//反过来查找
     
                         if (rowHandler > -1 && rowHandler != currowHandler)
                         {
                             if (this.viewUser.FocusedValue != null)
                             {
                                 //提示信息:用户编号不能重复
                             }
                             e.Valid = false;
                             this.viewUser.HideEditor();
                             this.viewUser.ShowEditor();
                         }
                     }
                 }
     
             }
     
    验证编辑器事件(单列)
     //ValidatingEditor 验证编辑器事件   
     //验证view中某多列的值不能相同 
     
     private void viewOrgTarget_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
             {
                 if (this.viewOrgTarget.FocusedColumn == this.viewOrgTarget.Columns[DE.BmOrgTarget.OPER_DATE])
                 {
                     int intHandle = this.viewOrgTarget.FocusedRowHandle;
                     this.viewOrgTarget.FocusedRowHandle = -1;
                     this.viewOrgTarget.FocusedRowHandle = intHandle;
     
                     if (e.Value == null || string.IsNullOrEmpty(e.Value.ToString())) return;
     
                     DataRow drCurrent = this.viewOrgTarget.GetFocusedDataRow();
     
                     string strBrandId = TWays.Utils.ToString(drCurrent[DE.BmOrgTarget.BRAND_ID]);
                     string strBranchId = TWays.Utils.ToString(drCurrent[DE.BmOrgTarget.BRANCH_ID]);
                     string strCateId = TWays.Utils.ToString(drCurrent[DE.BmOrgTarget.CATE_ID]);
                     string strOrgType = TWays.Utils.ToString(drCurrent[DE.BmOrgTarget.ORG_TYPE]);
                     string strOperDate = e.Value.ToString();
                     if (string.IsNullOrEmpty(strBrandId))
                     {
                          //提示信息
                         e.Valid = false;
                         this.viewOrgTarget.HideEditor();
                         this.viewOrgTarget.ShowEditor();
                     }
                     else if (string.IsNullOrEmpty(strBranchId))
                     {
                          //提示信息
                         e.Valid = false;
                         this.viewOrgTarget.HideEditor();
                         this.viewOrgTarget.ShowEditor();
                     }
                     else if (string.IsNullOrEmpty(strCateId))
                     {
                          //提示信息
                         e.Valid = false;
                         this.viewOrgTarget.HideEditor();
                         this.viewOrgTarget.ShowEditor();
                     }
                     else if (string.IsNullOrEmpty(strOrgType))
                     {
                          //提示信息
                         e.Valid = false;
                         this.viewOrgTarget.HideEditor();
                         this.viewOrgTarget.ShowEditor();
                     }
                     else if (!string.IsNullOrEmpty(strOperDate))
                     {
                         int iRowCount = 0;
     
                         for (int i = 0; i < this.viewOrgTarget.RowCount; i++)
                         {
                             DataRow dr = this.viewOrgTarget.GetDataRow(i);
                             if (TWays.Utils.ToString(dr[DE.BmOrgTarget.BRAND_ID]) == strBrandId &&
                                 TWays.Utils.ToString(dr[DE.BmOrgTarget.BRANCH_ID]) == strBranchId &&
                                 TWays.Utils.ToString(dr[DE.BmOrgTarget.CATE_ID]) == strCateId &&
                                 TWays.Utils.ToString(dr[DE.BmOrgTarget.ORG_TYPE]) == strOrgType &&
                                 TWays.Utils.ToString(dr[DE.BmOrgTarget.OPER_DATE]) == strOperDate)
                             {
                                 iRowCount++;
                             }
                         }
                         if (iRowCount > 0)
                         {
                              //提示信息
                             viewOrgTarget.SetFocusedRowCellValue(colShowOperDate, null);
                             e.Valid = false;
                             this.viewOrgTarget.HideEditor();
                             this.viewOrgTarget.ShowEditor();
                         }
                     }
                 }
             }
    验证编辑器事件(多列)
  • 相关阅读:
    Invoice Helper
    Product Helper
    Order Helper
    Case Helper
    Quote Helper
    C# 工厂模式示例
    若今生长剑浣花,生死无涯
    古代美到窒息的谎言
    C#解决微信支付Exception has been thrown by the target of an invocation(调用的目标发生了异常)的问题
    文能提笔控萝莉,转载自网上
  • 原文地址:https://www.cnblogs.com/Swaggy-yyq/p/12066446.html
Copyright © 2020-2023  润新知