理论教育 添加ActiveX数据绑定控件

添加ActiveX数据绑定控件

时间:2023-11-19 理论教育 版权反馈
【摘要】:要实现这一点,可以将DataSource和RowSource属性设置为同一个数据控件,并且将DataField和BoundColumn属性设置为该数据控件的记录集中的同一个字段。

添加ActiveX数据绑定控件

除了原有内部的数据绑定控件外,Visual Basic还新增了许多ActiveX数据绑定控件,以配合新的数据访问接口控件ADO的使用。主要有:DataList控件、DataCombo控件、DataGrid控件和Hierarchical FlexGrid控件以及较早版本的DBList控件、DBCombo控件和MSFlexGrid控件(适用于Data控件)。这些控件都不在Visual Basic的工具箱中,使用时需要通过菜单“工程”的“部件”选项来自己添加。

一、DBList控件和DBCombo控件

1.DBList控件和DBCombo控件基本功能

DBList列表框控件和DBCombo组合框控件虽然是不同的控件,但是它们在数据绑定方面的特性及应用都非常的相似,所以在这里一并介绍。

DBList控件和DBCombo控件能自动从与之相连的Data控件的字段中移居(即可以列表显示与之绑定的字段值),并有选择地更新其他Data控件中相关表的字段。也就是说,DBList控件和DBCombo控件的列表显示信息的数据来源和选择信息项后数据的写入目标可以是不同的两个Data控件。DBCombo控件是带有下拉列表框的与数据相连的组合框。DBCombo的文本框部分能用来编辑选定的字段。

DBList控件和DBCombo控件与标准ListBox控件和ComboBox控件不同。ListBox控件和ComboBox控件的列表中显示的数据不能来自数据源的字段,而必须用AddItem方法添加数据项,而DBList控件和DBCombo控件由和它相连的Data控件的Recordset对象中的字段数据自动添加数据项。DBList控件和DBCombo控件还可以更新在不同的Data控件的相关的Recordset对象中的字段值。另外,DBList控件和DBCombo控件支持自动查找模式,不用附加代码就能迅速在列表中定位数据项。

2.DBList控件和DBCombo控件常用属性

和用Data控件改变当前记录一样,如果BoundText属性和由DataSource和DataField属性指定的字段的值相等,那么DBList控件会自动强调显示列表中的某一项。

通过在控件的文本框部分键入值查找DBCombo控件。一旦键入,该值被放入列表,当前列表项目设置成该项。如果没有找到项目,BoundText属性设成null。

二、DataList控件和DataCombo控件

1.DataList控件和DataCombo控件基本功能

DataList控件和DataCombo控件的功能与DBList控件和DBCombo控件非常相似,但是为了使用OLEDB数据源(ADO)而被优化,也就是说DataList控件和DataCombo控件只适用于ADO数据控件。

DataCombo控件和DataList控件与众不同的特性是具有访问两个不同的表,并且将第一个表的数据链接到第二个表的某个字段的能力。这是通过使用两个数据源(如ADO Data控件),3个字段,而且不需要编码就可以简单实现这个功能。

2.DataList控件和DataCombo控件常用属性

DataList控件和DataCombo控件也可以与单个数据控件一起使用。要实现这一点,可以将DataSource和RowSource属性设置为同一个数据控件,并且将DataField和Bound⁃Column属性设置为该数据控件的记录集中的同一个字段。在这种情形下,将使用List⁃Field的值来填充该列表,且这些值来自于被更新的同一个记录集。如果指定了一个List⁃Field属性,但没有设置BoundColumn属性,则BoundColumn将自动被设置为ListField字段。

三、DataGrid控件

1.DataGrid控件基本功能

DataGrid控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列来表示RecordSet对象的记录和字段。可以使用DataGrid来创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序。

DataGrid控件的基本功能:

◆DataGrid控件只适用于Ado Data控件。

◆可以查看和编辑在远程或本地数据库中的数据。

◆与另一个数据绑定的控件(诸如DataList控件)联合使用,使用DataGrid控件来显示一个表的记录,这个表通过一个公共字段链接到由第二个数据绑定控件所显示的表。

◆在运行时,可以在程序中切换DataSource来查看不同的表,或者可以修改当前数据库的查询,以返回一个不同的记录集合(即重写ADO Data控件的RecordSource属性并刷新该ADO Data控件)。

2.DataGrid控件的主要属性、方法和事件

◆DataSource属性:返回或设置一个数据源,通过该数据源,数据使用者被绑定到一个数据库。

◆AllowAddNew属性:返回或设置一个值,指出用户是否能够向与DataGrid控件连接的Recordset对象中添加新记录。

◆AllowDelete属性:返回或设置一个值,指出用户能否从与DataGrid控件连接的Recordset对象中删除记录。

◆AllowUpdate属性:返回或设置一个值,指示用户能否修改DataGrid控件中的数据。

◆Bookmark属性:返回或设置非绑定DataGrid控件中RowBuffer对象内部指定行的书签。

◆Text属性:返回或设置包含在对象中的文本。

◆Columns属性:返回一个Column对象的集合。

◆Col,Row属性:返回或设置DataGrid控件中的活动单元,设计时不可用。

◆CellText方法:从一个DataGrid控件单元格返回一个格式化文本值。

◆CellValue方法:对一个在DataGrid控件中指定的行,返回其中某列的原始数据。(www.daowen.com)

◆RowColChange事件:在当前单元改变为一个不同的单元时该事件发生。

3.DataGrid控件的设计属性

DataGrid控件可以在设计时快速进行配置,只需少量代码或无需代码。

当在设计时设置了DataGrid控件的DataSource属性后,就会用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头。

另外在设计时可以编辑该网格的列;删除、重新安排、添加列标头,或者调整任意一列的宽度以及设置列数据的显示格式和字体外观等。

使用DataGrid控件的Columns集合的Count属性和Recordset对象的RecordCount,可以决定控件中行和列的数目。DataGrid控件的可包含的行数取决于系统的资源,而列数最多可达32767列。

4.DataGrid控件的返回值

◆DataGrid1.Text属性、DataGrid1.Row属性和DataGrid1.Col属性。

◆CellText方法、CellValue方法和CellText方法。

四、MSHFlexGrid控件以及MSFlexGrid控件

1.MSHFlexGrid控件基本功能

Microsoft Hierarchical FlexGrid(MSHFlexGrid只适用于ADO Data控件)和Microsoft FlexGrid(MSFlexGrid只适用于Data控件)控件是以网格的形式显示Recordset数据,数据可以来自单个表或者多个表。MSHFlexGrid控件是MSFlexGrid控件的版本升级,下面只简要介绍MSHFlexGrid控件的功能与使用方法。

Hierarchical FlexGrid控件提供了在网格中显示数据的高级功能,它与Microsoft Data Bound网格(DataGrid)控件类似,但也有显著区别:Hierarchical FlexGrid控件不允许用户对它绑定或包含的数据进行编辑。因此,这种控件在显示数据的同时能够确保原始数据的安全,使数据不被用户修改。不过,通过将它与文本框结合起来使用,Hierarchical Flex⁃Grid控件的单元格编辑能力也是可以实现的。

可以将文本、图片,或者文本和图片,放在MSHFlexGrid的任意单元中。Row和Col属性指定了MSHFlexGrid中的当前单元。可以在代码中指定当前单元,也可以在运行时,使用鼠标或者方向键来对其进行修改。Text属性引用当前单元的内容。

Hierarchical FlexGrid控件支持以下功能:

◆只读的数据绑定。

◆显示层次结构记录集。

动态重新安排列和行。

◆在进行列调整的过程中重新对数据进行分组。

◆每个单元格中可以包含文本、图片或者同时包含文本和图片。

◆当Hierarchical FlexGrid被指派到一个数据控件时,自动读取数据。

◆单元格中的文本换行功能。

◆当控件的DataSource和DataMember属性被绑定到特定的数据提供者时,提供Ac⁃tiveX(R)Data Binding。

2.Hierarchical FlexGrid控件常用属性、方法和事件

◆DataSource属性:返回或设置一个数据源,通过该数据源,数据使用者被绑定到一个数据库。

◆Text属性:返回或设置包含在对象中的文本。

◆Col,Row属性:返回或设置MSHFlexGrid控件中的活动单元,设计时不可用。

◆RowColChange事件:在当前单元改变为一个不同的单元时该事件发生。

3.访问Hierarchical FlexGrid控件

要在Visual Basic中安装并访问Hierarchical FlexGrid控件,可以使用以下步骤。

(1)在“工程”菜单中,选择“部件”,出现“部件”对话框。

(2)在“控件”选项卡中,选择“Microsoft Hierarchical FlexGrid Control 6.0”,然后单击“确定”。MSHFlexGrid控件被添加到Visual Basic工具箱中。

(3)在Visual Basic工具箱中,单击MSHFlexGrid控件,然后将其拖到一个Visual Bas⁃ic窗体上;或者在Visual Basic工具箱上,双击MSHFlexGrid控件,将其添加到窗体上。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈