VB考试教程:用FlexGrid控件来操纵数据
第四,使用FlexGrid控件来操作数据
使用FlexGrid ActiveX控件,您可以在Microsoft Visual Basic表单中创建电子表格,也可以称为网格。FlexGrid ActiveX控件可以在网格中显示任何类型的表格数据:文本、数字、日期,甚至图形。但是,我们将主要学习使用FlexGrid控件来显示Microsoft Access数据库的字段和记录。
FlexGrid control在电子表格中分别用行和列显示数据库表的记录和字段。您可以在FlexGrid对象中执行许多典型的电子表格操作,包括选择单元格、重置列宽、对齐标题和格式化文本。首先,您可以用文本填充一个简单的FlexGrid控件,选择文本并设置几个格式选项。接下来,您将进一步将FlexGrid control绑定到数据库,显示数据库表,对记录进行排序,并在整个数据库中搜索用户定义的字符串文本。
1.将FlexGrid用作通用电子表格。
FlexGrid是包含在Microsoft Visual Basic专业版和企业版中的ActiveX控件。在项目中使用FlexGrid控件之前,需要在项目菜单的组件菜单项打开的对话框中选择Microsoft FlexGrid 6.0控件(msflxgrd.ocx),并将该控件添加到项目的工具箱中。
FlexGrid control提供了电子数据网格的许多传统组织优势。它可以用来创建货物清单,计算税收,管理帐户,跟踪零件清单和库存清单,等等。此外,微软将FlexGrid控件设计为可绑定控件,可以通过同一表单上的数据控件显示数据库信息。如果您希望以原始表格形式快速显示数据库信息,那么FlexGrid control是您的选择。
提示:Visual Basic 6.0专业版还提供了一个类似的电子表格控件,名为Hierarchical FlexGridActiveX(即mshflxgd.ocx)。该控件的使用方式与FlexGrid控件相同,它们具有相同的属性、方法和事件集。但是,HierarchicalFlexGrid控件必须绑定到ActiveX数据对象(ADO)控件。请注意,ADO控件不是Visual Basic工具箱中的内部数据控件。“分层”意味着该控件可以显示由数据库中多个表创建的记录集。
了解行和列
FlexGrid control生成的电子数据网格是由平行行和垂直列组成的表格。默认情况下,第一行和最左边的列是保留的行和列标题,它们以阴影背景色显示。您可以使用属性Rows设置表格中的行数,使用属性Cols设置表格中的列数。下图显示了一个带有8行5列FlexGrid表的表单:
FlexGrid控件中的表数据可以像二维数组一样操作。表格的第一维是行数,第二维是列数。例如,表格左上角的单元格可以引用地址0,0 (0行,0列)。
向单元格添加文本
使用TextMatrix属性向单元格中添加文本。
当您想要在FlexGrid的某个单元格中输入值时,需要设置TextMatrix属性来指定单元格的位置和值。您可以在表中指定任何数值或字符串数据类型值。
例如,要将单词“Bob”放在第三行第一列的单元格中,可以输入以下程序语句:
MSFlexGrid1。TextMatrix(3,1) = "Bob "
同样,要将数字1500放入第二行第一列的单元格中,可以使用以下语法:
MSFlexGrid1。TextMatrix(2,1)= 1500
在单元格中插入图形。
使用CellPicture属性添加图形。
您可以使用Set语句、CellPicture属性和LoadPicture函数在FlexGrid表格单元格中插入图形。包含图标文件的有效图形类型(。ico)、位图文件(。bmp)和Windows图元文件(。wmf)。
例如,以下程序语句在表格的指定单元格中显示元文件Coins.wmf:
设置MSFlexGrid1。cell picture = load picture(" c:\ VB \ coins . wmf ")
调整装置的高度和宽度。
向单元格添加图形时,FlexGrid控件不会自动重置单元格的大小来显示它。您可以使用RowHeight和ColWidth属性来调整单元格的高度和宽度,并在Twip中为它们赋值。
例如,以下语句将表格的第一行和第一列的高度和宽度设置为2000缇,括号中的数字分别表示当前行和当前列:
MSFlexGrid1。RowHeight(1)= 2000
MSFlexGrid1。ColWidth(1)= 2000
将这两个语句直接添加到上面的CellPicture属性中显示图形的Set语句中,单元格将被放大到足以显示整个图形的大小。
注意:当改变表格中单元格的大小时,它实际上改变了该单元格所在的整个行和列的大小。
寻址单元
使用行和列属性选择单元格。
与大多数电子表格一样,在格式化单元格内容之前,您必须在FlexGrid控件中选择它们。在FlexGrid控件中,您可以使用程序代码来选择单个单元或一组单元(相邻的块)。
要选择单个单元格,只需将Row和Col的属性设置为您想要选择的行和列。您指定的行和列的交叉点就是您选择的单元格。
例如,如果要选择表格的单元格1,1,可以使用以下程序语句:
MSFlexGrid1。行= 1
MSFlexGrid1。Col = 1
在区域中选择单元格时,必须指定所选区域的起点和终点。起点是您刚刚用行和列属性指定的单元格(第1行,第1列及以上)。
0条评论