注册 登录
编程论坛 C# 论坛

个人珍藏DataGridView控件秘籍

wangnannan 发布于 2010-11-01 13:23, 29331 次点击
个人珍藏DataGridView控件秘籍 千万不要跟别人说你已经完全掌握了DataGridView 至少也得看完这本书在说  呵呵  希望对大家有帮助 目录如下
程序代码:
DataGridView控件
DataGridView是用于Windows Froms 2.0的新网格控件。它可以取代先前版本中DataGrid控件,它易于使用并高度可定制,支持很多我们的用户需要的特性。

关于本文档:
本文档不准备面面俱到地介绍DataGridView,而是着眼于深入地介绍一些技术点的高级特性。

本文档按逻辑分为5个章节,首先是结构和特性的概览,其次是内置的列/单元格类型的介绍,再次是数据操作相关的内容,然后是主要特性的综述,最后是最佳实践。

大部分章节含有一个“Q & A”部分,来回答该章节相关的一些常见问题。注意,某些问题会由于知识点的关联性重复出现在多个章节。这些问题、答案及其附带的示例代码都包含在本文档的附录部分。

注意:本文档的大部分内容来自MSDN中DataGridView控件的相关文档。

内容
1    何为DataGridView    4
1.1    DataGridView和DataGrid 之间的区别    4
1.2    DataGridView的亮点    5
2    DataGridView的结构    6
2.1    结构元素    6
2.2    单元格和组    6
2.3    DataGridView的单元格    6
2.3.1    DataGridViewCell的工作机制    7
2.4    DataGridView的列    9
2.5    DataGridView的编辑控件    9
2.6    DataGridView的行    10
3    列/单元格类型揭密    11
3.1    DataGridViewTextBoxColumn    11
3.2    DataGridViewCheckBoxColumn    12
3.3    DataGridViewImageColumn    12
3.4    DataGridViewButtonColumn    13
3.5    DataGridViewComboBoxColumn    13
3.5.1    DataError与ComboBox列    13
3.6    DataGridViewLinkColumn    14
4    操作数据    15
4.1    数据输入和验证的相关事件    15
4.1.1    数据验证相关事件的顺序    15
4.1.2    验证数据    15
4.1.3    在新行中的数据输入    16
4.2    关于Null值    19
4.2.1    NullValue属性    19
4.2.2    DataSourceNullValue属性    19
4.3    DataError事件    20
4.4    数据绑定模式    21
4.4.1    非绑定模式    21
4.4.2    绑定模式    21
4.4.3    虚拟模式    22
4.4.4    混合模式    22
5    Overview of features    24
5.1    Styling    24
5.1.1    The DataGridViewCellStyle Class    24
5.1.2    Using DataGridViewCellStyle Objects    24
5.1.3    Style Inheritance    25
5.1.4    Setting Styles Dynamically    28
5.2    Custom painting    28
5.2.1    Paint Parts    28
5.2.2    Row Pre Paint and Post Paint    29
5.3    Autosizing    30
5.3.1    Sizing Options in the Windows Forms DataGridView Control    30
5.3.2    Resizing with the Mouse    31
5.3.3    Automatic Sizing    32
5.3.4    Programmatic Resizing    33
5.3.5    Customizing Content-based Sizing Behavior    34
5.3.6    Content-based Sizing Options    34
5.4    Selection modes    34
5.4.1    Programmatic Selection    35
5.5    Scrolling    35
5.5.1    Scroll event    35
5.5.2    Scroll bars    35
5.5.3    Scrolling Properties    36
5.6    Sorting    36
5.6.1    Programmatic Sorting    37
5.6.2    Custom Sorting    38
5.7    Border styles    39
5.7.1    Standard Border Styles    39
5.7.2    Advanced Border Styles    39
5.8    Enter-Edit modes    40
5.9    Clipboard copy modes    40
5.10    Frozen columns/rows    41
5.11    Implementing Custom cells and editing controls/cells    41
5.11.1    IDataGridViewEditingControl    42
5.11.2    IDataGridViewEditingCell    42
5.12    Virtual mode    42
5.12.1    Bound Mode and Virtual Mode    42
5.12.2    Supplementing Bound Mode    42
5.12.3    Replacing Bound Mode    43
5.12.4    Virtual-Mode Events    43
5.12.5    Best Practices in Virtual Mode    44
5.13    Capacity    44
6    Best Practices    45
6.1    Using Cell Styles Efficiently    45
6.2    Using Shortcut Menus Efficiently    45
6.3    Using Automatic Resizing Efficiently    45
6.4    Using the Selected Cells, Rows, and Columns Collections Efficiently    46
6.5    Using Shared Rows    46
6.6    Preventing Rows from Becoming Unshared    47
附录 A – 常见问题:    49
1.    如何使指定的单元格不可编辑?    49
2.    如何让一个单元格不可用?    49
3.    如何避免用户将焦点设置到指定的单元格?    51
4.    如何使所有单元格总是显示控件(不论它是否处于编辑状态)?    51
5.    Why does the cell text show up with “square” characters where they should be new lines?    51
6.    如何在单元格内同时显示图标和文本?    51
7.    如何隐藏一列?    53
8.    如何避免用户对列排序?    53
9.    如何针对多个列排序?    54
10.    如何为编辑控件添加事件处理函数?    58
11.    应在何时移除编辑控件的事件处理函数?    58
12.    如何处理ComboBox列中ComboBox控件的SelectIndexChanged事件?    58
13.    如何通过拖放调整行的顺序?    59
14.    如何调整最后一列的宽度使其占据网格的剩余客户区?    60
15.    如何让TextBox类型的单元格支持换行?    60
16.    如何使Image列不显示任何图像(字段值为null时)?    61
17.    如何能够在ComboBox类型的单元格中输入数据?    61
18.    How do I have a combo box column display a sub set of data based upon the value of a different combo box column?    61
19.    如何在用户编辑控件的时候(而不是在验证时)就显示错误图标?    62
20.    如何同时显示绑定数据和非绑定数据?    65
21.    How do I show data that comes from two tables?    66
22.    如何显示主从表?    66
23.    如何在同一DataGridView中显示主从表?    68
24.    如何避免用户对列排序?    68
25.    如何在点击工具栏按钮的时候将数据提交到数据库?    68
26.    如何在用户删除记录时显示确认对话框?    68

只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

原书为word 文件
只有本站会员才能查看附件,请 登录

238 回复
#102
caotie19862011-05-17 21:57
多谢分享!!很有用哦
#103
liyibo2011-05-17 22:32
thanks,不错啊!
#104
zhwTesting2011-05-17 22:33
找个很久,终于找到了,谢谢
#105
rophie2011-05-18 17:07
现在正好在做这个,感谢感谢
#106
hao082011-05-18 19:52
楼主这个分享精神值得大家学习啊
谢谢。。。。
#107
混乱系2011-05-18 22:56
正好玩不转这个组件,唉,晕啊
#108
忍冬2011-05-19 17:14
雪中送炭啊 正需要 多谢多谢
#109
cicigood1232011-05-20 10:23
听说我是非洲来的
#110
leixiaoxi2011-05-20 13:59
下载了,谢谢
#111
ddznq0082011-05-21 21:10
先下下来看看吧~3Q
#112
wintered2011-05-24 13:58
总结的太好了!谢谢楼主的分享,谢主楼...黑黑
#113
LOVE13145202011-05-25 12:03
东西不错!o(︶︿︶)o 唉!试考完了才发来啊,要不是还可以用着复习啊,但是也不错,以后用得着里。谢谢!
#114
林芝荫2011-05-25 17:37
这个好,下载下来学习学习,呵呵
#115
xxf19872011-05-25 19:16
好东西 一定要顶
#116
世界健康2011-05-27 11:10
谢谢楼主。。!

#117
liuxiuhao2011-05-27 16:04
希望有用
#118
兴奋小猪2011-05-30 20:44
多谢分享····刚好是我要的····
#119
P_tang2011-06-01 20:18
新手上路 谢谢
#120
______Ping__2011-06-01 21:04
   看去不错 。。。顶。。。。。。。
#121
go20112011-06-02 23:10
是个好东西
#122
voyage19902011-06-04 22:12
顶下
#123
niulang2011-06-07 09:00
谢谢楼主了,正为这个控件的用法犯愁呢,学习了哈
#124
xhmlwaf2011-06-07 12:25
谢谢分享! ,这个一定要顶。。
#125
凯琳kay2011-06-10 20:17
谢谢分享!
#126
zjg11082011-06-11 16:10
来膜拜的!
#127
xtx372011-06-13 13:09
回复 楼主 wangnannan
谢谢楼主分享
#128
fengshao8902011-06-14 13:32
真是好东西,有空的时候看看还是很有用的!
#129
杜东志2011-06-18 08:43
快考试了   感谢
#130
k40inseries2011-07-01 21:28
谢谢嗄
#131
ska1302011-07-02 10:31
好,谢谢
#132
xzj23701172011-07-05 08:45
谢谢分享,
#133
zhengxw19892011-07-10 15:03
先顶后看哈~
#134
hui3329862072011-07-15 17:57
学习
感谢楼主资源
#135
zuike1682011-07-27 01:16
直接下载,学习使用
#136
c_jane2011-08-03 16:12
#137
2011-08-05 14:58
谢谢楼主分享
#138
polar20112011-08-19 14:10
下来看看
#139
morass2011-08-27 21:03
谢谢楼主分享!
#140
starfly6442011-09-13 16:51
一定要顶的,就要学这个,还有没有好一点的表格控件啊
#141
jeanine1232011-09-30 12:17
谢谢分享。
#142
looli_20082011-10-01 15:42
谢谢分享
#143
zzqqrr2011-10-01 23:18
谢谢了
#144
yeshuaxing2011-10-04 00:38
回复 楼主 wangnannan
楼主辛苦了,先收藏
#145
soyes2011-10-04 00:51
谢谢分享!
#146
zhwTesting2011-10-08 16:54
谢谢楼主分享!
#147
panxue2011-10-12 09:31
非常感谢!
#148
benlancy2011-10-13 09:33
谢谢,看上去不错!
#149
zhangxueen2011-10-16 21:09
顶 坚决的
#150
huaqi82592011-10-17 10:53
一定要谢谢哦
一定要谢谢的
#151
sfhnsoft2011-10-19 10:40
多谢分享!!
12345