由于工作需要跟winform下的datagrid,打了下交道,winform下的datagrid跟web中的结构差别很大,搞得很是焦头烂额,存档备用![b]ps:vs2003环境[/b]
    想要使用自定义的列样式,首先必须了解DataGrid的结构。在我们将一个DataGrid控件拖到窗体上的时候,我们可以马上在属性中设置它的样式,改变它数据行的交替色等。这不同于ASP.NET下的样式设置。在ASP.NET中,最终的改变都体现为网页的HTML语言。而在WinForm下,这种改变是通过控制DataGrid的DataGridTableStyle属性(对象)来体现的,而DataGridTableStyle又是由若干个DataGridColumnStyle组成的,微软默认提供了两种列样式:DataGridTextBoxColumn和DataGridBoolColumn.

 1 /**//// <summary>
 2        /// 设置dataGrid1的模板
 3        /// </summary>
 4        /// <param name="dt"></param>
 5        private void SetGridStyle(DataTable dt)
 6        {
 7         
 8            if(!dataGrid1.TableStyles.Contains(dt.TableName))
 9            {
10                DataGridTableStyle dts=new DataGridTableStyle();
11                dts.MappingName=dt.TableName;    //注意:必须加上这一句,否则自定义列格式无法使用
12                dataGrid1.TableStyles.Add(dts);                            
13                dataGrid1.TableStyles[0].GridColumnStyles.Clear();
14                dts.AlternatingBackColor=System.Drawing.Color.FromName("Lavender");
15                dts.HeaderBackColor=System.Drawing.Color.FromName("MidnightBlue");
16                dts.HeaderForeColor=System.Drawing.Color.FromName("White");                        
17                dts.GridLineColor=System.Drawing.Color.GhostWhite;
18                
19                //========================设置表头栏位===========================    
20                DataGridTextBoxColumn colFileName1 = new DataGridTextBoxColumn();
21                colFileName1.Width=160;                
22                colFileName1.MappingName = "FileName";
23                colFileName1.HeaderText = "文件名";
24                colFileName1.Alignment=HorizontalAlignment.Center;
25                dts.GridColumnStyles.Add(colFileName1);                 
26
27                DataGridTextBoxColumn colRecordCount = new DataGridTextBoxColumn();
28                colRecordCount.Width=75;
29                colRecordCount.HeaderText = "记录数"; 
30                colRecordCount.Alignment=HorizontalAlignment.Center;
31                colRecordCount.MappingName = "RecordCount";
32                dts.GridColumnStyles.Add(colRecordCount); 
33                
34                DataGridTextBoxColumn colFileRecordCount = new DataGridTextBoxColumn();
35                colFileRecordCount.Width=100;
36                colFileRecordCount.HeaderText = "文件记录数";
37                colFileRecordCount.MappingName = "FileRecordCount";
38                colFileRecordCount.Alignment=HorizontalAlignment.Center;
39                dts.GridColumnStyles.Add(colFileRecordCount);
40
41                DataGridTextBoxColumn colState = new DataGridTextBoxColumn();
42                colState.Width=65;
43                colState.HeaderText = "完成状态";
44                colState.MappingName = "state"; 
45                colState.Alignment=HorizontalAlignment.Center;
46                dts.GridColumnStyles.Add(colState); 
47 
48                DataGridTextBoxColumn colAddDate = new DataGridTextBoxColumn();
49                colAddDate.Width=143;
50                colAddDate.ReadOnly=true;
51                colAddDate.HeaderText = "添加时间";
52                colAddDate.Alignment=HorizontalAlignment.Center;
53                colAddDate.Format="yyyy-MM-dd hh:mm:ss";                  
54                colAddDate.MappingName = "AddDate";
55                dts.GridColumnStyles.Add(colAddDate);
56
57                dts.RowHeadersVisible=false;//隐藏自动生成的左边列
58                dts.AlternatingBackColor= System.Drawing.Color.FromName("Lavender");              
59                dataGrid1.TableStyles.Add(dts);
60               
61                    
62            }

转载于:https://www.cnblogs.com/hyqiang168/archive/2007/12/27/1017132.html

【原】winform定制datagrid模板相关推荐

  1. RadioButton加入DataGrid模板列引起的问题。

    也许各位看官还尚未注意到,将RadioButton加入到DataGrid模板列后(当然DataList,Repeater也一样),尽管你设置了其GroupName,结果还是不能实现我们想要的效果, 即 ...

  2. 反射实体自动生成EasyUi DataGrid模板 第二版--附项目源码

    之前写过一篇文章,地址  http://www.cnblogs.com/Bond/p/3469798.html   大概说了下怎么通过反射来自动生成对应EasyUi datagrid的模板,然后贴了很 ...

  3. LaTeX入门|(2)定制专属模板

    看懂Latex模板(或定制专属模板) 一个简单的latex文档,我们只需要一个tex文件即可,但实际上我们在其中调用了文档类以及宏包.为了不在一个tex文件中将格式与正文堆在一起,我们可以自己设计专属 ...

  4. 游戏原画设计HTML5模板是一款适合网页游戏原画设计作品展示的HTML5网站模板。

    游戏原画设计HTML5模板是一款适合网页游戏原画设计作品展示的HTML5网站模板.不仅仅是首页,二级页面,三级页面,登陆,购物车等,页面齐全 功能齐全  js+css+html (img,字体均有), ...

  5. oracle9i数据库模板,Oracle 9i定制数据库模板(转)

    Oracle 9i定制数据库模板(转)[@more@] 6.9.1 什么是模板 数据库的模板与数据库的关系就犹如空白的档案登记表和实际的人员档案之间的关系. 6.9.2 系统默认的3种模板 选择[典型 ...

  6. ASP.NET DEMO 14: 如何在 GridView/DataGrid 模板列中使用自动回发的 CheckBox/DropDownList

    有时候希望在 GridView 模板中使用自动回发的 CheckBox (autopostback=true) ,但是 CheckBox 没有 CommandName 属性,因此也就无法在 GridV ...

  7. unity之定制脚本模板

    1.unity的脚本模板 新版本unity中的C#脚本有三类,第一类是我们平时开发用的C# Script:第二类是Testing,用来做单元测试:第三类是Playables,用作TimeLine中管理 ...

  8. 高端网站建设css3动画响应式模板_网站建设中整站定制与模板建站存在着什么差异...

    公司要在互联网上面有强大的竞争能力,殊不知模板建站是会给你感觉不尽如人意.而整站定制的企业网站不论是竞争能力還是客户体验都能够考虑公司的一切要求.下边网站建设企业我就带大伙儿剖析一下,针对整站定制而言 ...

  9. wordpress模板_如何在15分钟内定制WordPress模板

    wordpress模板 You know what my favorite WordPress development gigs are? The ones where I get to start ...

最新文章

  1. 【ACM】杭电OJ 1106 函数atoi
  2. 电子书推荐--《Python灰帽子》,python黑客编程
  3. mPaaS 客户端问题排查之突如其来的“白屏”等待
  4. 【数学基础】参数估计之极大似然估计
  5. hierarchyviewer
  6. linphone-android移植
  7. oracle9i怎样管理数据,Oracle9i数据库管理员使用大全
  8. html在线时间24小时代码,每24小时弹一次的HTML代码
  9. linux 子shell
  10. 扫地机器人水箱背景_家友扫地机器人拖地水箱配件(米家扫地机器人1代版)体验(Case Closed)...
  11. mysql设置主键可视化_mysql怎么设置主键自
  12. SpringBoot 之日志logback使用[简单上手版]
  13. Symbian编程总结-基础篇-活动对象正解(1)-理解活动对象
  14. java关键字与解释_5.Java基础知识-注释和关键字
  15. Atitit 代理CGLIB 动态代理 AspectJ静态代理区别
  16. fastText原理和文本分类实战,看这一篇就够了
  17. 【学习笔记】python实现excel数据处理
  18. Javaweb面试题整理
  19. oracle11g基于bootstrap$中的ind$表损坏系列五
  20. 积分墙广告的七个真相(触控软文)

热门文章

  1. Linux错误27,解决在linux下编译32程序出现“/usr/include/gnu/stubs.h:7:27: 致命错误:gnu/stubs-32.h:没有那个文件或目录问题”...
  2. 4个空格和一个tab有什么区别_为什么有时候会放屁连连?这4个原因,一个都别放过...
  3. android edittext的监听,android editText 监听事件
  4. 计算机怎样用计算法绘制圆弧,计算机图形学圆弧生成算法具体程序实现
  5. bolt在java,java – 在Apache Storm中将不同的元组从1个spout发送到不同的bolt
  6. php7 php.ini 没有mysql_php7的配置文件里没有mysql.default_socket吗?
  7. 双屏鼠标经常跑到副屏_这个电脑的双屏幕,让我重新找回了修图的乐趣
  8. oracle 删除中文表,oracle - 删除全局临时表 - SO中文参考 - www.soinside.com
  9. android通讯录备份软件下载,通讯录同步助手
  10. oracle 12创建一个表,oracle 12 c 创建表空间,用户名,及表