没有合适的资源?快使用搜索试试~ 我知道了~
VB DataGridView控件介绍
需积分: 49 13 下载量 148 浏览量
2011-04-15
09:38:21
上传
评论
收藏 46KB DOC 举报
温馨提示
试读
12页
VB DataGridView控件介绍VB DataGridView控件介绍VB DataGridView控件介绍VB DataGridView控件介绍
资源推荐
资源详情
资源评论
VB2005 DataGridView 控件使用
新的 DataGridView 是 .NET 2.0 中的一个新控件,是针对 .NET 1.x 中功能较差的标准
DataGrid 控 件 而 设 计 的 。 Matthew MacDonald 在 本 文 中 论 述 了 许 多 改 进 , 包 括 :
DataGridView 支持大量自定义和细致的格式设置、灵活的大小调整和选择、更好的性能以
及更丰富的事件模型。
.NET Framework 的前两个版本(.NET 1.0 和 .NET 1.1)在数据绑定方面留下了明显的空白。
尽管开发人员拥有一个灵活的可配置模型,可以将几乎所有的控件链接到几乎所有的数据
源,但却没有一种有效的方法来显示完整的信息表。可以实现此目的的唯一工具就是
DataGrid 控件,这种控件非常适合于处理简单的演示,但是不太适合实际代码。
填补这 项 空白是 .NET 2.0 的主 要目标之 一,并且 Microsoft 已经 用全新的 网格控件
DataGridView 来实现此目标。DataGridView 有两个指导原则。首先,其目标是支持常见任
务(如主控/详细列表、验证和数据格式设置),而不需要您编写许多代码。更重要的是,
设计过程中始终考虑了扩展性,因此您可以集成所需的专用功能,而不必采用低级别的复
杂编程。
本页内容
基本数据绑定
美化 DataGridView
使用 DataGridView 选择单元格
DataGridView 对象
DataGridView 样式
自定义单元格格式
按钮列
图像列
编辑 DataGridView
处理错误
验证输入
使用列表列约束选择
小结
基本数据绑定
熟悉 DataGridView 的最佳方法就是实际尝试一下,无需配置任何属性。就像 DataGrid 一样,
您可以使用 DataSource 属性来绑定 DataTable 对象(或从 DataTable 派生的对象)。
Dim ds As DataSet = GetDataSet()
DataGridView1.DataSource = ds.Tables("Customers")
与 DataGrid 不同的是,DataGridView 一次只能显示一个表。如果绑定整个 DataSet,则不
会显示任何数据,除非您使用要显示的表名设置了 DataMember 属性。
DataGridView1.DataSource = ds
DataGridView1.DataMember = "Customers"
基本的 DataGridView 显示遵循以下几项简单的规则:
• 为数据源中的每个字段创建一列。
• 使用字段名称创建列标题。列标题是固定的,这意味着用户在列表中向下移动时列标题
不会滚动出视图。
• 支持 Windows XP 视觉样式。您会注意到列标题具有新式的平面外观,并且当用户将鼠标
移到其上时会突出显示。
DataGridView 还包括几个您可能不会立即注意到的默认行为:
• 允许就地编辑。用户可以在单元格中双击或按 F2 来修改当前值。唯一的例外是将
DataColumn.ReadOnly 设置为 True 的字段(如当前示例中的 OrderID 字段)。
• 支持自动排序。用户可以在列标题中单击一次或两次,基于该字段中的值按升序或降序
对值进行排序。默认情况下,排序时会考虑数据类型并按字母或数字顺序进行排序。字母
顺序区分大小写。
• 允许不同类型的选择。用户可以通过单击并拖动来突出显示一个单元格、多个单元格或
多个行。单击 DataGridView 左上角的方块可以选择整个表。
• 支持自动调整大小功能。用户可以在标题之间的列分隔符上双击,使左边的列自动按照
单元格的内容展开或收缩。
返回页首
美化 DataGridView
DataGridView 的默认外观仅仅比 DataGrid 略有改进,但是使用几项快速调整功能,您可以
将其显著改进。
其 中 的 一 个 问 题 就 是 列 无 法 自 动 展 开 以 适 合 其 包 含 的 数 据 。 您 可 以 使 用
DataGridView.AutoSizeColumns() 方法以及 DataGridViewAutoSizeColumnCriteria 枚举中的
某个值来解决此问题。您可以选择根据标题文本、当前显示的行或表中的所有行的的宽度
来调整列宽。
' 根据标题或此列的某一行中
' 最长一段文本的宽度调整
' 列宽。
DataGridView1.AutoSizeColumns( _
DataGridViewAutoSizeColumnCriteria.HeaderAndRows)
请记住,此方法必须在绑定数据后调用,否则不会产生任何效果。你可能还需要在用户编
辑数据后使用它(可能在响应 DataGridView.CellValueChanged 等事件时)。
如果不增加列宽,则可以更改行高。默认情况下,列中的文本会跨越多行。如果您使用
DataGridView.AutoSizeRows() 方法,则行会根据其中的内容调整高度。使用此方法前,您
可能希望增加列宽,尤其是在字段包含大量文本时。例如,以下代码片段使“说明”列的列
宽增加为原列宽的四倍,然后调整行高以容纳其内容。
DataGridView.Columns("Description").Width *= 4
DataGridView.AutoSizeRows( _
DataGridViewAutoSizeRowsMode.HeaderAndColumnsAllRows)
图 1 比较了自动调整 DataGridView 大小的各种方法。
另一个合理的更改是清理每一列中显示的标题文本。例如,标题“Order Date”比字段名称
“OrderDate”看上去更为专业。这项更改很容易进行。您只需从 DataGridView.Columns 集合
中检索相应的 DataGridViewColumn,并修改其 HeaderText 属性:
DataGridView.Columns("OrderID").HeaderText = "Order ID"
返回页首
使用 DataGridView 选择单元格
默认情况下,DataGridView 允许自由选择。用户可以突出显示单元格或单元格组,可以一
次突出显示所有单元格(通过单击网格右上角的方块),还可以突出显示一行或多行(通过
在行标题列中单击)。根据选择模式,用户甚至能够通过选择列标题来选择一列或多列。
通过使用 DataGridViewSelectionMode 枚举中的某个值来设置 DataGridView.SelectionMode
属性,可以控制此行为,如下所述:
• CellSelect : 用 户 可 以 选 择 单 元 格 , 但 不 能 选 择 整 个 行 或 标 题 。 如 果
DataGridView.MultiSelect 为 True,则用户可以选择多个单元格。
• FullColumnSelect:单击列标题只能选择整个列。如果 DataGridView.MultiSelect 为 True,
则用户可以选择多个列。使用此模式时,单击列标题不会对网格进行排序。
• FullRowSelect:单击行标题只能选择整个行。如果 DataGridView.MultiSelect 为 True,则
用户可以选择多个行。
• ColumnHeaderSelect:用户可以使用 CellSelect 或 FullColumnSelect 选择模式。使用此模式
时,单击列标题不会对网格进行排序。
• RowHeaderSelect:用户可以使用 CellSelect 或 FullRowSelect 选择模式。这是默认的选择
模式。
通 过 DataGridView , 可 以 使 用 以 下 三 个 属 性 方 便 地 检 索 选 定 的 单 元 格 :
SelectedCells 、 SelectedRows 和 SelectedColumns 。 无 论 使 用 的 是 哪 种 选 择 模 式 ,
SelectedCells 都始终返回 DataGridViewCell 对象的集合。另一方面,如果使用行标题选择
剩余11页未读,继续阅读
资源评论
aa0815412
- 粉丝: 3
- 资源: 50
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功