关于DevExpress GridView事件

  1 //RowCellStyle 行单元格样式事件
  2 //用于设置行单元格样式
  3 //这里举例 如果状态为0则白背景色改为蓝绿色
  4 
  5 if(e.RowHanle>=0)//当前视图的所有行
  6 {
  7     DataRow dr =this.view.GetRow(e.RowHanle);//获取所以行的数据
  8     if(dr==null) return;
  9     if(dr["AGE"]==0) 
 10     {
 11           e.Appearance.Backcolor=Color.YellowGreen;
 12     }       
 13 }
 14 
 15 
 16 
 17 //ValidatingEditor 验证编辑器事件   
 18 //验证view中某一列的值不能相同 
 19 //例:用户编号不能相同 USER_CODE
 20 private void viewUser_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
 21         {
 22             //如果当前焦点列为用户编码列USER_CODE 
 23             if (this.viewUser.FocusedColumn == this.viewUser.Columns[DE.GmUser.USER_CODE])
 24             {
 25                 //e.Value当前列的值
 26                 if (e.Value == null || string.IsNullOrEmpty(e.Value.ToString())) return;
 27 
 28                 string usrCode = e.Value.ToString();
 29                 int currowHandler = this.viewUser.FocusedRowHandle;//当前焦点行的行号
 30                 int rowHandler = this.viewUser.LocateByValue(0, this.viewUser.FocusedColumn, usrCode);//从第一行开始查找该列相同的userCode,返回行号。view.(从哪里开始查找,列名,要查找的值)
 31 
 32                 if (rowHandler > -1)
 33                 {
 34                     if (rowHandler != currowHandler)
 35                     {
 36                         if (this.viewUser.FocusedValue != null)
 37                         {
 38                             //提示信息:用户编号不能重复
 39                         }
 40                         e.Valid = false;//提示单元格的值无效 单元格会出现一个红色的×
 41                         this.viewUser.HideEditor();//隐藏编辑器,放弃次单元格所做的更改
 42                         this.viewUser.ShowEditor();//显示编辑器
 43                     }
 44 
 45                 }
 46                 else
 47                 {
 48                     rowHandler = this.viewUser.LocateByValue(this.viewUser.RowCount - 1, this.viewUser.FocusedColumn, usrCode);//反过来查找
 49 
 50                     if (rowHandler > -1 && rowHandler != currowHandler)
 51                     {
 52                         if (this.viewUser.FocusedValue != null)
 53                         {
 54                             //提示信息:用户编号不能重复
 55                         }
 56                         e.Valid = false;
 57                         this.viewUser.HideEditor();
 58                         this.viewUser.ShowEditor();
 59                     }
 60                 }
 61             }
 62 
 63         }
 64 
 65 
 66 
 67 
 68 
 69 //ValidatingEditor 验证编辑器事件   
 70 //验证view中某多列的值不能相同 
 71 
 72 private void viewOrgTarget_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
 73         {
 74             if (this.viewOrgTarget.FocusedColumn == this.viewOrgTarget.Columns[DE.BmOrgTarget.OPER_DATE])
 75             {
 76                 int intHandle = this.viewOrgTarget.FocusedRowHandle;
 77                 this.viewOrgTarget.FocusedRowHandle = -1;
 78                 this.viewOrgTarget.FocusedRowHandle = intHandle;
 79 
 80                 if (e.Value == null || string.IsNullOrEmpty(e.Value.ToString())) return;
 81 
 82                 DataRow drCurrent = this.viewOrgTarget.GetFocusedDataRow();
 83 
 84                 string strBrandId = TWays.Utils.ToString(drCurrent[DE.BmOrgTarget.BRAND_ID]);
 85                 string strBranchId = TWays.Utils.ToString(drCurrent[DE.BmOrgTarget.BRANCH_ID]);
 86                 string strCateId = TWays.Utils.ToString(drCurrent[DE.BmOrgTarget.CATE_ID]);
 87                 string strOrgType = TWays.Utils.ToString(drCurrent[DE.BmOrgTarget.ORG_TYPE]);
 88                 string strOperDate = e.Value.ToString();
 89                 if (string.IsNullOrEmpty(strBrandId))
 90                 {
 91                      //提示信息
 92                     e.Valid = false;
 93                     this.viewOrgTarget.HideEditor();
 94                     this.viewOrgTarget.ShowEditor();
 95                 }
 96                 else if (string.IsNullOrEmpty(strBranchId))
 97                 {
 98                      //提示信息
 99                     e.Valid = false;
100                     this.viewOrgTarget.HideEditor();
101                     this.viewOrgTarget.ShowEditor();
102                 }
103                 else if (string.IsNullOrEmpty(strCateId))
104                 {
105                      //提示信息
106                     e.Valid = false;
107                     this.viewOrgTarget.HideEditor();
108                     this.viewOrgTarget.ShowEditor();
109                 }
110                 else if (string.IsNullOrEmpty(strOrgType))
111                 {
112                      //提示信息
113                     e.Valid = false;
114                     this.viewOrgTarget.HideEditor();
115                     this.viewOrgTarget.ShowEditor();
116                 }
117                 else if (!string.IsNullOrEmpty(strOperDate))
118                 {
119                     int iRowCount = 0;
120 
121                     for (int i = 0; i < this.viewOrgTarget.RowCount; i++)
122                     {
123                         DataRow dr = this.viewOrgTarget.GetDataRow(i);
124                         if (TWays.Utils.ToString(dr[DE.BmOrgTarget.BRAND_ID]) == strBrandId &&
125                             TWays.Utils.ToString(dr[DE.BmOrgTarget.BRANCH_ID]) == strBranchId &&
126                             TWays.Utils.ToString(dr[DE.BmOrgTarget.CATE_ID]) == strCateId &&
127                             TWays.Utils.ToString(dr[DE.BmOrgTarget.ORG_TYPE]) == strOrgType &&
128                             TWays.Utils.ToString(dr[DE.BmOrgTarget.OPER_DATE]) == strOperDate)
129                         {
130                             iRowCount++;
131                         }
132                     }
133                     if (iRowCount > 0)
134                     {
135                          //提示信息
136                         viewOrgTarget.SetFocusedRowCellValue(colShowOperDate, null);
137                         e.Valid = false;
138                         this.viewOrgTarget.HideEditor();
139                         this.viewOrgTarget.ShowEditor();
140                     }
141                 }
142             }
143         }
144     

猜你喜欢

转载自www.cnblogs.com/Swaggy-yyq/p/12066446.html