admin 管理员组

文章数量: 1086019


2024年3月7日发(作者:360浏览器调用摄像头)

word格式-可编辑-感谢下载支持

GridControl详解(一)原汁原味的表格展示

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

插件所在位置

word格式-可编辑-感谢下载支持

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

word格式-可编辑-感谢下载支持

word格式-可编辑-感谢下载支持

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

[csharp] view plaincopyprint?

1. private DataTable InitDt()

2. {

3. DataTable dt = new DataTable("个人简历");

4. ("id",typeof(int));

5. ("name", typeof(string));

6. ("sex", typeof(int));

7. ("address", typeof(string));

8. ("aihao", typeof(string));

9. ("photo", typeof(string));

10. (new object[] { 1, "张三", 1, "东大街6号", "看书", "" });

11. (new object[] { 1, "王五", 0, "西大街2号", "上网,游戏", "" });

12. (new object[] { 1, "李四", 1, "南大街3号", "上网,逛街", "" });

13. (new object[] { 1, "钱八", 0, "北大街5号", "上网,逛街,看书,游戏", "" });

14. (new object[] { 1, "赵九", 1, "中大街1号", "看书,逛街,游戏", "" });

15. return dt;

16. }

17.

书写gridControl1绑定数据方法:

[csharp] view plaincopyprint?

1. private void BindDataSource(DataTable dt)

2. {

3. //绑定DataTable

4. urce = dt;

5. //绑定DataSet

6. //urce = ds;

7. //mber = "表名";

8. }

程序调用:BindDataSource(InitDt());

呈现结果如下:

word格式-可编辑-感谢下载支持

GridControl详解(二)表格的列名配置

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

word格式-可编辑-感谢下载支持

列配置:

word格式-可编辑-感谢下载支持

word格式-可编辑-感谢下载支持

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

word格式-可编辑-感谢下载支持

运行结果:

word格式-可编辑-感谢下载支持

GridControl详解(三)列数据的格式设置

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

[csharp] view plaincopyprint?

1. //格式增加

2. ("数据",typeof(decimal));

3. ("时间",typeof(DateTime));

4. ("自定义",typeof(string));

5. (new object[] { 1, "张三", 1,"东大街6号","看书","",-52.874,"2011-8-5

17:52:55","###" });

6. (new object[] { 1, "王五", 0,"西大街2号","上网,游戏","", -37.257,"2011-8-5

17:52:55" });

7. (new object[] { 1, "李四", 1,"南大街3号","上网,逛街","", -54.254,"2011-8-9

17:52:55" });

8. (new object[] { 1, "钱八", 0,"北大街5号","上网,逛街,看书,游戏","",-35.127,"2011-8-9 17:52:55" });

9. (new object[] { 1,"赵九", 1,"中大街1号","看书,逛街,游戏","",-29.548,"2011-8-9

20:52:55" });

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

数据:

word格式-可编辑-感谢下载支持

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

word格式-可编辑-感谢下载支持

word格式-可编辑-感谢下载支持

运行结果:

word格式-可编辑-感谢下载支持

时间:

word格式-可编辑-感谢下载支持

word格式-可编辑-感谢下载支持

自定义:

word格式-可编辑-感谢下载支持

word格式-可编辑-感谢下载支持

事件转换:

概念明确:

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

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

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

word格式-可编辑-感谢下载支持

增加事件:

[csharp] view plaincopyprint?

1. private voidgridView1_CustomColumnDisplayText(objectsender,

ColumnDisplayTextEventArgse)

2. {

3. if(ame =="sex")

4. {

5. switch(ng().Trim())

6. {

7. case"1":

8. yText = "男";

word格式-可编辑-感谢下载支持

9. break;

10. case"0":

11. yText = "女";

12. break;

13. default:

14. yText = "";

15. break;

16. }

17. }

18. }

显示结果:

GridControl详解(四)分组排序汇总

分组:

按时间分第一组:

word格式-可编辑-感谢下载支持

按性别分第二组:

word格式-可编辑-感谢下载支持

word格式-可编辑-感谢下载支持

显示结果:

word格式-可编辑-感谢下载支持

高级设置:

word格式-可编辑-感谢下载支持

将所有组展开代码:AllGroups();

显示结果:

word格式-可编辑-感谢下载支持

自定义组名,GridView级事件

word格式-可编辑-感谢下载支持

增加事件:

[csharp] view plaincopyprint?

1. private void gridView1_CustomDrawGroupRow(object sender,

ectCustomDrawEventArgs e)

2. {

3. GridGroupRowInfo GridGroupRowInfo = as GridGroupRowInfo;

4. ext = "第" + (dle).ToString() + "行 " +

ng();

5. }

显示结果:

word格式-可编辑-感谢下载支持

注意:每一行都有一个RowHandle属性,普通行的RowHandle为非负整数,从0开始;组行

排序:

排序设置

word格式-可编辑-感谢下载支持

word格式-可编辑-感谢下载支持

显示结果:

word格式-可编辑-感谢下载支持

汇总:

汇总数据列设置

注意:汇总结果是显示在Footer面板中的,gridControl中的Footer面板默认是不显示的,所以如果要汇总数据,那么必须先设置Footer面板显示。

word格式-可编辑-感谢下载支持

显示结果:

word格式-可编辑-感谢下载支持

组计:

代码:

[csharp] view plaincopyprint?

1. (, "数据", gridColumn7, "组计:{0}");

结果显示

word格式-可编辑-感谢下载支持

GridControl详解(五)设置行备注和行号

备注显示设置

word格式-可编辑-感谢下载支持

设置备注字段

word格式-可编辑-感谢下载支持

显示结果:

word格式-可编辑-感谢下载支持

可以写入按键事件F3,用以开关备注显示

[csharp] view plaincopyprint?

1. private void Form4_KeyUp(object sender, KeyEventArgs e)

2. {

3. if (e == Keys.F3)

4. {

5. eview = !eview;

6. }

7. }

word格式-可编辑-感谢下载支持

行号显示要用到的事件:

word格式-可编辑-感谢下载支持

代码:

[csharp] view plaincopyprint?

1. private void gridView1_CustomDrawRowIndicator(object sender,

icatorCustomDrawEventArgs e)

2. {

3. if (ndicator)

4. {

5. yText = "Row " + ng();

6. }

7. }

8. torWidth = 70;

word格式-可编辑-感谢下载支持

显示结果

GridControl详解(六)样式设置

表格样式:全局设置

word格式-可编辑-感谢下载支持

word格式-可编辑-感谢下载支持

word格式-可编辑-感谢下载支持

word格式-可编辑-感谢下载支持

例子:

word格式-可编辑-感谢下载支持

例子:

word格式-可编辑-感谢下载支持

word格式-可编辑-感谢下载支持

word格式-可编辑-感谢下载支持

列样式:只作用于当前的列

word格式-可编辑-感谢下载支持

通用样式:外观设定

注意:样式设定都是相同的,Appearance前缀。


本文标签: 显示 事件 表格 编辑 设置