没有合适的资源?快使用搜索试试~ 我知道了~
VB6.0中DataGrid的应用.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 129 浏览量
2022-06-27
12:40:46
上传
评论
收藏 116KB DOC 举报
温馨提示
试读
22页
VB6.0中DataGrid的应用.doc
资源推荐
资源详情
资源评论
使用 DataGrid 控件
DataGrid 控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列来表示
Recordset 对象的记录和字段。可以使用 DataGrid 来创建一个允许最终用户阅读和写入到绝
大多数数据库的应用程序。DataGrid 控件可以在设计时快速进行配置,只需少量代码或无
需代码。当在设计时设置了 DataGrid 控件的 DataSource 属性后,就会用数据源的记录集来
自动填充该控件,以及自动设置该控件的列标头。然后您就可以编辑该网格的列;删除、
重新安排、添加列标头、或者调整任意一列的宽度。
在运行时,可以在程序中切换 DataSource 来察看不同的表,或者可以修改当前数据库
的查询,以返回一个不同的记录集合。
注意 DataGrid 控件与 Visual Basic 5.0 中的 DBGrid 是代码兼容的,除了一个例外:
DataGrid 控件不支持 DBGrid 的“解除绑定模式”概念。DBGrid 控件包括在 Visual Basic 的
Tools 目录中。
可能的用法
查看和编辑在远程或本地数据库中的数据。
与另一个数据绑定的控件(诸如 DataList 控件)联合使用,使用 DataGrid 控件来显示
一个表的记录,这个表通过一个公共字段链接到由第二个数据绑定控件所显示的表。
使用 DataGrid 控件的设计时特性
可以不编写任何代码,只通过使用 DataGrid 控件的设计时特性来创建一个数据库应用
程序。下面的说明概要地说明了在实现 DataGrid 控件的典型应用时的一般步骤。完整的循
序渐进的指示,请参阅主题“DataGrid 方案 1: 使用 DataGrid 控件创建一个简单数据库应用
程序”。
要在设计时实现一个 DataGrid 控件
1. 为要访问的数据库创建一个 Microsoft 数据链接 (.MDL) 文件。请参阅“创建 Northwind
OLE DB 数据链接”主题,以获得一个示例。
2. 在窗体上放置一个 ADO Data 控件,并将其 ConnectionString 属性设置为在第 1 步中所创
建的 OLE DB 数据源。
3. 在这个 Ado Data 控件的 RecordSource 属性中输入一条将返回一个记
录集的 SQL 语句。例如,Select * From MyTableName Where CustID = 12
4. 在窗体上放置一个 DataGrid 控件,并将其 DataSource 属性设置为这个 ADO Data 控件。
5. 右键单击该 DataGrid 控件,然后单击“检索字段”。
6. 右键单击该 DataGrid 控件,然后单击“编辑”。
7. 重新设置该网格的大小、删除或添加网格的列。
8. 右键单击该 DataGrid 控件,然后单击“属性”。
9. 使用“属性页”对话框来设置该控件的适当的属性,将该网格配置为所需的外观和行为。
在运行时更改显示的数据
在创建了一个使用设计时特性的网格后,也可以在运行时动态地更改该网格的数据源。下
面介绍实现这一功能的通常方法。
更改 DataSource 的 RecordSource
更改所显示的数据的最通常方法是改变该 DataSource 的查询。例如,如果 DataGrid 控件使
用一个 ADO Data 控件作为其 DataSource,则重写 RecordSource 和刷新该 ADO Data 控件都
将改变所显示的数据。
' ADO Data 控件连接的是 Northwind 数据库的' Products 表。新查询查找所有
' SupplierID = 12 的记录。
Dim strQuery As String
strQuery = "SELECT * FROM Suppliers WHERE SupplierID = 12"
Adodc1.RecordSource = strQuery
Adodc1.Refresh
更改 DataSource
在运行时,可以将 DataSource 属性重新设置为一个不同的数据源。例如,您可能具有若干
个 ADO Data 控件,每个控件连接不同的数据库,或设置为不同的 RecordSource 属性。可
以简单地将 DataSource 从一个 ADO Data 控件重新设置为另一个 ADO Data 控件:
' 将 DataSource 重新设置为一个连接到 Pubs 数据库的、
' 使用 Authors 表的 ADO Data 控件。
Set DataGrid1.DataSource = adoPubsAuthors
重新绑定 DataSource
当将 DataGrid 控件用于一个远程数据库,诸如 SQLServer 时,可以改变表的结构。例如,
可以给这个表添加一个字段。在这种情形下,可以调用 Rebind 方法根据新的结构来重新创
建该网格。注意,如果已经在设计时改变了这个列的布局,DataGrid 控件将会试图重新创
建当前的布局,包括任何空的列。不过,通过首先调用 ClearFields 方法,可以强制该网格
重新设置所有的列。
从 DataGrid 返回值
在 DataGrid 被连接到一个数据库后,可能想要监视用户单击了哪一个单元。可以使用
RowColChange 事件——而不是 Click 事件。如下所示:
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
' 显示用户所单击的单元的文字、行和列的信息。
Debug.Print DataGrid1.Text; DataGrid1.Row; DataGrid1.Col
End Sub
使用 CellText 和 CellValue 方法
当一个列使用 NumberFormat 属性设置格式后,CellText 和 CellValue 属性是很有用的。
NumberFormat 属性不必更改实际的数据格式就可以更改任何包含数字的列的格式。例如,
给定 一个 网格 ,其 中包 含 一个 名为 ProductID 的、 包含 整数 的列 。下 面的 代码 将使
DataGrid 以"P-0000" 的格式来显示数据。换句话说,尽管在 ProductID 字段中所包含的实
际数值为 "3",但该网格所显示的值将是 "P-0003"。
Private Sub Form_Load()
DataGrid1.Columns("ProductID").NumberFormat = "P-0000"
End Sub
要返回数据库中所包含的实际值,应使用 CellValue 方法,如下所示:
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
Debug.Print _
DataGrid1.Columns("ProductID").CellValue(DataGrid1.Bookmark)
End Sub
注意 上面所用的 CellValue 和下面所用的 CellText 值,都需要将 Bookmark 属性作为一个参
数,功能才正确。
相反地,如果要返回该字段的格式化的值,应使用 CellText 方法:
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
Debug.Print _
DataGrid1.Columns("ProductID").CellText(DataGrid1.Bookmark)
End Sub
注意 上面的 CellText 方法等价于使用 DataGrid 控件的 Text 属性。
下一步
要阅读关于使用该控件创建简单的应用程序的一个循序渐进的过程,请参阅“使用 DataGrid
控件创建简单的数据库应用程序”,或“创建一个连接 DataList 控件的 DataGrid”。
要了解关于 Split 对象以及如何对其编程的详细信息,请参阅“操作 DataGrid 视图”。
创建 Northwind 的 OLE DB 数据链接
访问数据的一个重要步骤是为想要访问的每个数据库都创建一个 OLE DB 数据源。下面的
步骤为 Visual Basic 所提供的 Nwind.mdb (Northwind) 数据库创建这样一个对象。这个数据
源被用于 Visual Basic 文档所提供的一些示例过程。在一个计算机上只需要创建一次 OLE
DB 数据源。
要创建 Northwind 的 OLE DB 数据源
1. 打开 Windows Explorer 或 Windows NT Explorer。
2. 打开您想要创建 OLE DB 数据源的目录。在该示例中,打开 ProgramFiles、Microsoft
Visual Studio 和 VB98。
3. 右键单击 Explorer 的右边窗格,然后单击上下文菜单上的“新建”。从文件类型列表中单
击“Microsoft 数据链接”。
4. 重命名新文件 Northwind.MDL。
5. 右键单击文件并单击上下文菜单上的“属性”,以显示“Northwind.MDLProperties”对话框。
6. 单击“连接”选项卡。
7. 单击“提供方”框并选择“Microsoft Jet 3.51 OLE DB Provider”。
8. 在 Data Source 框中输入 nwind.mdb 文件的路径。
9. 单击“测试连接”,检测连接。
10. 如果连接通过,单击“确定”。
注意 也可以通过在“控制面板”中单击“数据链接”图标创建一个 OLE DB 数据源。在“管理数
据链接文件”对话框中,单击“新建”创建一个新的数据源。
使用 DataGrid 和 ADO Data 控件创建一个简单的数据库应用程序
只使用一个 DataGrid 和一个 ADO Data 控件,可以创建一个允许最终用户阅读和写入记录
集的数据库应用程序。
要使用 ADO 数据控件来创建一个简单的数据库应用程序
1. 为 Northwind 数据库创建一个 OLE DB 数据源。如果还没有创建数据源,请按照“创建
Northwind 的 OLE DB Data Link”中的步骤操作。
2. 在 Visual Basic 中创建一个新的标准的 EXE 工程。如果 DataGrid 控件不在“工具箱”中,
则用右键单击“工具箱”,然后使用“部件”对话框来添加控件。同时也载入 ADO 控件。
3. 在空窗体上各放置控件的一个实例。
4. 将 ADO 控件的 ConnectionString 属性设置为 Northwind 的数据源。单击并选定该 ADO
Data 控件,并按 F4 键出现“属性”窗口。单击“ConnectionString”,然后单击 OLE DB File。
单击 Northwind 的数据源。
5. 设置 ADO 控件的 RecordSource 属性。在“属性”窗口中,单击“记录源”并输入一条 SQL 语
句来填充 DataGrid
控件。在本例中,输入“Select * From Products”。
6. 将 DataGrid 控件的 DataSource 属性设置为这个 ADO Data 控件。单击并选定该 DataGrid
控件。在其“属性”窗口中,单击“数据源”将出现一个包含所有数据控件的下拉列表——在本
例中只有 ADO Data 控件。单击这个控件。
7. 按 F5 键运行这个工程。
创建一个连接 DataList 控件的 DataGridData
Grid 的 通 常 用 法 是 显 示 数 据 库 的 一 个 表 所 提 供 的 “ 详 细 内 容 ” 。 例 如 , Northwind
(Nwind.mdb) 数据库包括两个表,一个名为 "Suppliers",另一个名为 "Products"。在本例中,
我们使用 DataList 控件来显示 "Suppliers" 表中的供应商的公司名称。当用户单击任意一个
公司名称时,这个 DataList 控件将提供该公司的 SupplierID。使用这个标识符,就可以构
造一个查询,在 "Products" 表中检索具有相匹配的 SupplierID 的所有记录。换句话说,当
用户单击一个公司时(在 DataList 控件中),该公司生产的所有产品将出现在 DataGrid 控
件中。
要使用一个指定供应商的产品填充一个 DataGrid 控件
1. 确认在机器上已为 Northwind 数据库建立了一个 OLE DB 数据源;如果还没有创建这样
的一个数据源,请按照“创建 Northwind 的 OLE DBData 连接”的步骤操作。
2. 在 Visual Basic 中创建一个新的标准的 EXE 工程。
如果 DataGrid、DataList 和 ADO Data 控件不在“工具箱”中,则右键单击“工具箱”,然后单
击 “ 部 件 ” 。 在 “ 部 件 ” 对 话 框 中 双 击 “ MicrosoftDataGrid Control” 、 “ Microsoft DataList
Controls”以及“Microsoft ADOControl”。
3. 在一个空窗体中各放置一个 DataGrid 和 DataList 控件的实例。将 DataList 控件放置在该
窗体的左上角,然后将 DataGrid 控件放在它的下面的某处。
4. 在窗体放置两个 ADO Data 控件实例。选择第一个 ADO Data 控件,并按 F4 键来显示其
“属性页”。将该控件的 Name 属性设置为 adoSuppliers。选择第二个 ADO Data 控件并将其
Name 属性设置为 adoProducts。将第一个控件直接放在 DataList 控件的下面,把第二个控
件直接放在 DataGrid 控件的下面。
5. 将这两个 ADO Data 控件的 ConnectionString 属性设置为 Northwind 的 OLE DB 数据源。
选择名为 adoSuppliers 的控件,然后将其 ConnectionString 属性设置为 Northwind 的 OLE
DB data source (Northwind.mdl)。选择名为 adoProducts 的控件,并重复该操作。
6. 设置这两个 ADO Data 控件的 RecordSource 属性。选择 adoSuppliers 并在其“属性页”上单
击“RecordSoure”。输入 Select* From Suppliers。这个查询将指示该 ADO Data 控件返回
Suppliers 表中的所有记录。选择 adoProducts,单击“RecordSoure”,并输入 Select *From
Products。这个查询将返回在 Products 表中的所有记录。
7. 将 DataList 控件的 RowSource 属性设置为 adoSuppliers。
RowSource 属性决定由哪一个数据源为 ListField 属性供应数据。
8. 将 DataList 控件的 ListField 属性设置为 CompanyName。
ListField 属性被设置成名为 Suppliers 的表中的字段名称。在运行时,DataList 控件显示在
这个属性中所指定的字段的值。在本例中,该属性将显示在 Suppliers 表中找到的一个公司
名称。
9. 将 DataList 控件的 BoundColumn 属性设置为 SupplierID。
BoundColumn 属性被设为 Suppliers 表中的第二个字段。在本例中,这个属性就被设为
SupplierID 字段。当单击 DataList 控件时,BoundText 属性返回与在 DataList 控件中所显示
的公司相关联的 SupplierID 字段的值。这个值将用于对 Products 表的查询,该查询为
DataGrid 控件提供数据。
10. 将 DataGrid 控件的 DataSource 属性设置为 adoProducts。
DataSource 属性为该控件指定数据源。在本例中,该属性被设置为名为 adoProducts 的
ADO Data 控件,这将返回 Products 表中的所有记录。
11. 在窗体的代码模块中,添加下述内容:
Private Sub Datalist1_Click()
' 声明一个用来包含新查询的字符串变量。这个新的
' 查询使用 DataList 控件的 BoundText 属性
' 来提供一个 SupplierID 值。新查询查找所有
' 具有相同的 SupplierID 的产品。这个查询被
' 指定给名为 adoProducts 的 ADO Data 控件
' 的 RecordSource 属性。在刷新控件后,DataGrid
' 将使用包含由同一个公司供应的所有产品的新
' 记录集来更新。
Dim strQuery As String
strQuery = "Select * FROM Products WHERE SupplierID = " & _
Datalist1.BoundText
With adoProducts
.RecordSource = strQuery
.Refresh
End With
With DataGrid1
.ClearFields
.ReBind
End With
End Sub
12. 运行该工程。
单击 DataList 控件中的任意公司名称,将自动用该公司所供应的产品更新 DataGrid 控件。
剩余21页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3614
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab实现车牌识别程序,和论文,自己做的,做毕业设计的可以看看 .rar
- Windows系统下安装与配置Neo4j的步骤
- 基于matlab实现潮流计算和最优潮流计算的程序1,对毕业设计有一定用处.rar
- 基于大数据学习资源推荐系统的设计与实现(部署视频)-kaic.mp4
- 哈工大形式语言和自动机2022期末含答案
- Windows系统下安装与配置Neo4j的步骤
- 哈希算法(Hash Algorithm)是一种将任意长度的二进制数据映射为较短的、固定长度的二进制值的函数.txt
- Windows系统下安装与配置Neo4j的步骤
- 在二叉树或更复杂的树形结构中,先序输出叶结点.txt
- 列出所有祖先结点的概念通常与树形结构或图论中的节点相关.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功