博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最常用的DevExpress Winform 4个代码片段
阅读量:6085 次
发布时间:2019-06-20

本文共 8971 字,大约阅读时间需要 29 分钟。

一 、GridControl的删除操作

private void rILinkEditInfoDel_Click(object sender, EventArgs e){     if (XtraMessageBox.Show("请确定是否删除当前记录?", "警告",MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)     {         DataRow row =gvInfos.GetDataRow(gvInfos.FocusedRowHandle);         delByCode(row["Code"].ToString());         XtraMessageBox.Show("操作成功!");     }}

二、绑定非数据表中列

Hashtable ht = new Hashtable();private void gridView6_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgse){     GridView View = sender as GridView;     if (e.RowHandle >= 0)     {         object needAlert =View.GetRowCellValue(e.RowHandle, View.Columns["needAlert"]);         if (needAlert != null &needAlert != DBNull.Value && needAlert.ToString().Trim() !="0" & View.GetRowCellValue(e.RowHandle,View.Columns["Value"]) != DBNull.Value)         {            decimal AverValue = Convert.ToDecimal(View.GetRowCellValue(e.RowHandle,View.Columns["Value"]));             objectMinValue = View.GetRowCellValue(e.RowHandle,View.Columns["MinValue"]);             objectMaxVlaue = View.GetRowCellValue(e.RowHandle,View.Columns["MaxValue"]);             if(MinValue != DBNull.Value & MinValue != null & MaxVlaue.ToString() !="" & MaxVlaue != DBNull.Value && MaxVlaue != null &MaxVlaue.ToString() != "")             {                decimal gridColumn2 = Convert.ToDecimal(View.GetRowCellValue(e.RowHandle,View.Columns["MinValue"]));                decimal gridColumn1 = Convert.ToDecimal(View.GetRowCellValue(e.RowHandle,View.Columns["MaxValue"]));                if (gridColumn2 > AverValue || AverValue > gridColumn1)                {                    if (!ht.ContainsKey("pic"))                        ht.Add("pic", GetImage(1));                    e.Value = ht["pic"];                }             }         }     }}/// /// 由资源文件获取图片/// /// /// 
byte[] GetImage(int key){ Image img =DevExpress.Utils.Controls.ImageHelper.CreateImageFromResources(string.Format("RiverSys.Resources.{0}.gif",key.ToString()), typeof(RiverInfos).Assembly); returnDevExpress.XtraEditors.Controls.ByteImageConverter.ToByteArray(img,ImageFormat.Gif);}/// /// 动态根据条件设置行样式/// /// /// private void gridView6_RowStyle(object sender,DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e){ GridView View = sender as GridView; if (e.RowHandle >= 0) { object needAlert =View.GetRowCellValue(e.RowHandle, View.Columns["needAlert"]); if (needAlert != null &needAlert != DBNull.Value && needAlert.ToString().Trim() !="0" & View.GetRowCellValue(e.RowHandle,View.Columns["Value"]) != DBNull.Value) { decimal AverValue = Convert.ToDecimal(View.GetRowCellValue(e.RowHandle, View.Columns["Value"])); objectMinValue = View.GetRowCellValue(e.RowHandle,View.Columns["MinValue"]); objectMaxVlaue = View.GetRowCellValue(e.RowHandle,View.Columns["MaxValue"]); if(MinValue != DBNull.Value & MinValue != null & MaxVlaue.ToString() !="" & MaxVlaue != DBNull.Value && MaxVlaue != null &MaxVlaue.ToString() != "") { decimal gridColumn2 = Convert.ToDecimal(MinValue); decimal gridColumn1 = Convert.ToDecimal(MaxVlaue); if (gridColumn2 > AverValue || AverValue > gridColumn1) { e.Appearance.ForeColor = Color.Red; e.Appearance.BackColor = Color.LightGray; } } } }}

三、GridControl 中颜色选择控件

private void gvMapColor_CustomUnboundColumnData(object sender,DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e){     GridView view = sender as GridView;     DataView dv = view.DataSource as DataView;     if (e.IsGetData)     {         string strVal =dv[e.ListSourceRowIndex]["Color"].ToString();         if (strVal != "")         {            //e.Value = DevExpress.Utils.StyleLayout.ColorFromString(strVal);            e.Value = Common.HexToColor(strVal);         }     }     else     {         //Color colorVal =DevExpress.Utils.StyleLayout.ColorFromString(e.Value.ToString());         Color colorVal =(Color)e.Value;        dv[e.ListSourceRowIndex]["Color"] =Common.RGB_HEX(colorVal.ToArgb());     }}

四、关于 GridControl 验证示例

private void gvMapColor_CustomUnboundColumnData(object sender,DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e){     GridView view = sender as GridView;     DataView dv = view.DataSource as DataView;     if (e.IsGetData)     {         string strVal =dv[e.ListSourceRowIndex]["Color"].ToString();         if (strVal != "")         {            //e.Value = DevExpress.Utils.StyleLayout.ColorFromString(strVal);            e.Value = Common.HexToColor(strVal);         }     }     else     {         //Color colorVal =DevExpress.Utils.StyleLayout.ColorFromString(e.Value.ToString());         Color colorVal =(Color)e.Value;        dv[e.ListSourceRowIndex]["Color"] =Common.RGB_HEX(colorVal.ToArgb());     }}四、关于 GridControl 验证示例/** /// 初始化GridView,绑定数据/// /// private void GridViewBindData(string parentId){this.gridView1.Columns.Clear();this.FDs= areaSetupActionHelper.getDsRegionByParentId(parentId);this.gridCArea.DataSource =this.FDs.Tables[0].DefaultView;    this.gridView1.Columns["id"].VisibleIndex =-1;    this.gridView1.Columns["childCounts"].VisibleIndex= -1;    this.gridView1.Columns["reg_id"].Caption ="区划编号";    this.gridView1.Columns["reg_name"].Caption ="区划名称";    this.gridView1.Columns["parent_id"].Caption ="父区划编号";    this.gridView1.Columns["reg_desc"].Caption ="区划描述";    this.gridView1.Columns["parent_id"].ImageIndex =1;    this.gridView1.Columns["reg_desc"].ImageIndex = 0;    RepositoryItemTextEdit textEditReg_Id = newRepositoryItemTextEdit();    textEditReg_Id.Mask.EditMask =parentId+"\\d{2,3}";    textEditReg_Id.Mask.MaskType =DevExpress.XtraEditors.Mask.MaskType.Regular;    this.gridView1.Columns["reg_id"].ColumnEdit =textEditReg_Id;    this.gridView1.Columns["reg_desc"].ColumnEdit= new RepositoryItemMemoExEdit();    TreeListNode node =this.treelArea.FocusedNode.ParentNode;    string fid =node==null?"0":node.GetValue("RegID").ToString().Trim();    DataSet ds =areaSetupActionHelper.getDsRegionByParentId(fid);    RepositoryItemLookUpEdit lookUEParent_Id = newRepositoryItemLookUpEdit();    lookUEParent_Id.Columns.Add(newLookUpColumnInfo("reg_id", 40, "区划编号"));    lookUEParent_Id.Columns.Add(newLookUpColumnInfo("reg_name", 40, "区划名称"));    lookUEParent_Id.DataSource = ds.Tables[0].DefaultView;    lookUEParent_Id.ValueMember = "reg_id";    lookUEParent_Id.DisplayMember = "reg_id";    this.gridView1.Columns["parent_id"].ColumnEdit =lookUEParent_Id;}/** /// gridView单元格验证的相关处理程序/// /// /// private void gridView1_ValidatingEditor(objectsender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e){if (e.Valid == false&this.gridView1.FocusedColumn.FieldName =="reg_id"){      e.ErrorText = "区划编号不合法!\n应为父区划编号加2~3位数据组成!";       }    if (this.gridView1.FocusedColumn.FieldName =="reg_name")    {          Regex reg=new Regex(@"[\u4e00-\u9fa5]{1,20}");     Match m=reg.Match(e.Value.ToString().Trim());     if (m.Length != e.Value.ToString().Trim().Length)     {      e.Valid = false;      e.ErrorText = "区划名称应为汉字\n长度为1至20";     }    }}private void gridView1_InvalidValueException(objectsender, InvalidValueExceptionEventArgs e){    if (MyDialog.Alert(" 您所填写的内容不符合规则\n 要放弃您刚才对此项所做的更改吗?", "您所编辑的内容不符合规则", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) ==DialogResult.Yes)    {     e.ExceptionMode = ExceptionMode.Ignore;    }}/** /// gridView行验证的相关处理程序/// private void gridView1_ValidateRow(objectsender, DevExpress.XtraGrid.Views.Base.ValidateRowEventArgs e){string regid = this.gridView1.GetRowCellValue(e.RowHandle,"reg_id").ToString().Trim();string regName = this.gridView1.GetRowCellValue(e.RowHandle,"reg_name").ToString().Trim();if ( regid.Length < 1){     e.Valid = false;    this.gridView1.SetColumnError(this.gridView1.Columns["reg_id"],"请填写区划编号!",DevExpress.XtraEditors.DXErrorProvider.ErrorType.Default);      // e.ErrorText = "区划名称不能为空!";    }    if (regName.Length < 1)    {     e.Valid = false;    this.gridView1.SetColumnError(this.gridView1.Columns["reg_name"],"区划名称不能为空!",DevExpress.XtraEditors.DXErrorProvider.ErrorType.Default);    }}private void gridView1_InvalidRowException(object sender,DevExpress.XtraGrid.Views.Base.InvalidRowExceptionEventArgs e){    if (e.RowHandle >= 0)    {     if (this.gridView1.GetRowCellValue(e.RowHandle,this.gridView1.Columns["reg_id"]).ToString().Trim() == ""|| this.gridView1.GetRowCellValue(e.RowHandle,this.gridView1.Columns["reg_name"]).ToString().Trim() =="")     {      if (MyDialog.Alert("  您所填写的内容不符合规则\n 要放弃您刚才对此项所做的更改吗?","您所编辑的内容不符合规则", MessageBoxButtons.YesNo,MessageBoxIcon.Warning) == DialogResult.Yes)      {       e.ExceptionMode = ExceptionMode.Ignore;      }      else      {       e.ExceptionMode = ExceptionMode.NoAction;      }     }    }    else    {     e.ExceptionMode = ExceptionMode.Ignore;    }}

本文来源:

转载地址:http://dekwa.baihongyu.com/

你可能感兴趣的文章
MySQL数据库导入导出常用命令
查看>>
低版本Samba无法挂载
查看>>
Telegraf+Influxdb+Grafana构建监控平台
查看>>
使用excel 展现数据库内容
查看>>
C#方法拓展
查看>>
MySql.Data.dll的版本
查看>>
Linux系统磁盘管理
查看>>
hdu 2191 (多重背包+二进制优化)
查看>>
home.php
查看>>
neo4j---删除关系和节点
查看>>
redis分布式锁redisson
查看>>
什么样的企业可以称之为初创企业?
查看>>
Python爬虫之BeautifulSoup
查看>>
《HTML 5与CSS 3权威指南(第3版·下册)》——第20章 使用选择器在页面中插入内容...
查看>>
如何判断自己适不适合做程序员?这几个特点了解一下
查看>>
newinstance()和new有什么区别
查看>>
android下载封装类
查看>>
[node] 用 node-webkit 开发桌面应用
查看>>
Nginx访问控制和虚拟主机
查看>>
report widget not working for external users
查看>>