zoukankan      html  css  js  c++  java
  • 关于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();
                         }
                     }
                 }
             }
    验证编辑器事件(多列)
  • 相关阅读:
    Oracle 临时事务表 全局临时表_global temporary table
    js String Trim函数
    解决Navicat Error: Missing required libmysql_d.dll
    win8双屏敲代码
    条件注释判断浏览器
    Eclipse 中Alt+/快捷键失效的解决办法。
    解决java写入xml报错org.w3c.dom.DOMException:DOM002 Illeg
    用解释计划评估创建索引后对单表查询效率的影响
    在某文件夹查找以日期命名的目录,如果早已目标时间则删除之
    (Python)正则表达式进行匹配
  • 原文地址:https://www.cnblogs.com/Swaggy-yyq/p/12066446.html
Copyright © 2011-2022 走看看