GridControl 点滴(一)

 Dev控件中的表格控件GridControl控件非常强大。不过,一些细枝末节的地方有时候用起来不好找挺讨厌的。使用过程中,多半借助Demo和英文帮助文档。网上具体的使用方法也多半零碎。偶遇一个简单而且详细的使用文档。好记性不如烂笔头!转载过来,整理整理发出来做个记录,总共有十个小节。做的非常精细,非常感谢原作者。

  插件所在位置

使用时拖拽过来,如下所示即使拖拽过来原封不动的样子:

在程序中写入构建一个表格的代码:

[csharp]  view plain copy
  1.      private DataTable InitDt()  
  2.         {  
  3.             DataTable dt = new DataTable("个人简历");  
  4.             dt.Columns.Add("id",typeof(int));  
  5.             dt.Columns.Add("name"typeof(string));  
  6.             dt.Columns.Add("sex"typeof(int));  
  7.             dt.Columns.Add("address"typeof(string));  
  8.             dt.Columns.Add("aihao"typeof(string));  
  9.             dt.Columns.Add("photo"typeof(string));  
  10.             dt.Rows.Add(new object[] { 1, "张三", 1, "东大街6号""看书""" });  
  11.             dt.Rows.Add(new object[] { 1, "王五", 0, "西大街2号""上网,游戏""" });  
  12.             dt.Rows.Add(new object[] { 1, "李四", 1, "南大街3号""上网,逛街""" });  
  13.             dt.Rows.Add(new object[] { 1, "钱八", 0, "北大街5号""上网,逛街,看书,游戏""" });  
  14.             dt.Rows.Add(new object[] { 1, "赵九", 1, "中大街1号""看书,逛街,游戏""" });  
  15.             return dt;  
  16.         }  
  17. <p> </p>  


书写gridControl1绑定数据方法:

[csharp]  view plain copy
  1. private void BindDataSource(DataTable dt)  
  2.    {  
  3.        //绑定DataTable  
  4.        gridControl1.DataSource = dt;  
  5.        //绑定DataSet  
  6.        //gridControl1.DataSource = ds;  
  7.        //gridControl1.DataMember = "表名";  
  8.    }  

程序调用:BindDataSource(InitDt());
呈现结果如下:


 

点击Run Designer控件上的按钮,弹出视图设计窗口:

  列配置:

我们配置完列名后,会发现设计视图发生了变化:

运行结果:

 

为了测试方便,我们加入新的3列,格式分别是数据,时间,字符串。代码增加下列部分:

[csharp]  view plain copy
  1. //格式增加  
  2. dt.Columns.Add("数据",typeof(decimal));  
  3. dt.Columns.Add("时间",typeof(DateTime));  
  4. dt.Columns.Add("自定义",typeof(string));  
  5. dt.Rows.Add(new object[] { 1, "张三", 1,"东大街6号","看书","",-52.874,"2011-8-5 17:52:55","###" });  
  6. dt.Rows.Add(new object[] { 1, "王五", 0,"西大街2号","上网,游戏","", -37.257,"2011-8-5 17:52:55" });  
  7. dt.Rows.Add(new object[] { 1, "李四", 1,"南大街3号","上网,逛街","", -54.254,"2011-8-9 17:52:55" });  
  8. dt.Rows.Add(new object[] { 1, "钱八", 0,"北大街5号","上网,逛街,看书,游戏","",-35.127,"2011-8-9 17:52:55" });  
  9. dt.Rows.Add(new object[] { 1,"赵九", 1,"中大街1号","看书,逛街,游戏","",-29.548,"2011-8-9 20:52:55" });  

给gridControl1增加3列,对应上述三列。

数据:

具体数据公式可以查看输入控件的MASK设置器,里面有全部的格式公式:


运行结果:

时间:


自定义:


事件转换:

概念明确:

1.      gridControl1的每一列原始数据是Value,但是显示数据是 DisplayText,默认DisplayText的值即是Value通过DisplayFormat转换之后的值。

2.      gridControl下的事件一般是包含表格GridView切换,点击,更改的事件,用的不多;每一个GridView下的事件包含行列处理,菜单显示,分组排序等事件,我们常用。(所有在使用事件时,一定要明确是control事件还是view事件)

GridView存在事件:自定义列显示事件

增加事件:

[csharp]  view plain copy
  1. private voidgridView1_CustomColumnDisplayText(objectsender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgse)  
  2.         {  
  3.             if(e.Column.FieldName =="sex")  
  4.             {  
  5.                 switch(e.Value.ToString().Trim())  
  6.                 {  
  7.                     case"1":  
  8.                         e.DisplayText = "男";  
  9.                         break;  
  10.                     case"0":  
  11.                         e.DisplayText = "女";  
  12.                         break;  
  13.                     default:  
  14.                         e.DisplayText = "";  
  15.                         break;  
  16.                  }  
  17.              }  
  18.          }  

显示结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值