这些资料是我学习的时候在网络上寻找到的,发布出来希望对大家有帮助,一起努力前进,嘿嘿......Microsoft C#规范 2.0 版 GFC用户提交

feedsky 抓虾 pageflakes google reader my yahoo bloglines 鲜果 有道 http://wap.feedsky.com/bliplink

DataGridView1

DataGridView控件 

DataGridView是用于Windows Froms 2.0的新网格控件。它可以取代先前版本中DataGrid控件,它易于使用并高度可定制,支持很多我们的用户需要的特性。  

 

关于本文档: 

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

 

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

 

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

 

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

 

内容 

1      何为DataGridView.. 4 

1.1    DataGridViewDataGrid 之间的区别... 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      DataErrorComboBox... 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 


友情链接

郑州大学软件学院 SpringWidgets-Blogger 徵信社 翻译公司 链接帮手网 行驶证字体 酷站目录 Friend Connectified