表格(Grid)控件是一种容器对象,可以设置在表单或者页面上,主要用来显示表中的字段,可以同时显示和操作多行数据。表格和表不同,在VFP中用Grid表示表格,用Table表示数据库表和自由表。
表格由列(Column)、列标题(Header1)和列控件(Text1)组成,其中列用来显示表格中的一个字段,列由列标题和列控件组成。列标题默认显示字段名,允许我们修改。一个列必须设置一个列控件,默认为文本框,但是允许修改为与本列字段数据类型相容的控件。表格、列、列标题和列控件都有自己的属性、事件和方法。其常用属性见表8-19。
表8-19 表格控件的常用属性
续表
可以用下列方法创建表格控件:
(1)使用数据环境创建表格控件。
新建或者打开一个表单,在表单中添加数据环境,用鼠标将数据环境拖到表单窗口中释放,就可以在表单中产生一个表格控件。
(2)使用表单控件工具栏设计表格控件。
单击表单控件工具栏中的表格按钮,在表单的适当位置创建表格控件,然后根据需要在属性窗口中设置具体属性。
(3)使用表格生成器创建表格控件。
首先使用表单控件工具栏中的表格按钮在表单窗口创建表格,右键弹出表格控件快捷菜单,选择“生成器”命令,弹出“表格生成器”对话框。表格生成器有4个页框,“表格项”页框主要设置表格中的可用字段,“样式”页框设置表格生成器提供的专业、标准、浮雕和账务等四种样式,“布局”页框设置列标题和控件类型,“关系”页框主要设置父表和子表之间的索引关系。可以在对话框中设置表格属性,表格生成器如图8-58所示。
图8-58 表格控件
下面以第二种方法为例举例说明表格控件的使用方法,其他方法读者自己练习。
【例8-16】设计一个表单,在表单上添加表格控件,数据源用教师.DBF,设置常用属性,显示表中的记录。同时设置一个文本框和下拉列表框用以通过编号和姓名检索数据。
具体步骤如下:
(1)设计一个表单my_form9,Caption设置为“数据检索”。
(2)给表单添加数据环境,添加数据表教师.DBF。
(3)在表单上添加一文本框、一个组合框、两个命令按钮、两个标签、一个表格控件,(表格控件还可以通过打开数据环境,把数据环境拖放到表单上的方式创建)。具体属性设置见表8-20。
表8-20 各控件属性
(4)各属性设置完毕后如图8-59所示。
图8-59
(5)在命令按钮“检索”的Click事件中编写程序代码如下:
(6)在下拉式列表框的InterActiveChange事件中编写如下程序代码:
(7)在命令按钮“退出”的Click事件中编写程序代码如下:
(8)程序运行结果如图8-60所示。
图8-60
在编号文本框中输入需要查询的编号,单击“检索”按钮,可以筛选出满足条件的记录,如果编号为空,会提示你输入编号。在姓名下拉式列表框中选择需要查询的姓名,可以显示出满足条件的记录。
在表单上创建表格控件后还可以对表格进行编辑,常用的操作如下:
(1)设定表格的列数。
在属性窗口选择ColumnCount属性,输入需要的列数值。
(2)修改列标题。
1)用代码修改。例如 Thisform.Grid1.Column3.Header1.Caption=”性别”,可以将表格第二列的标题修改为“性别”。
2)在属性窗口修改:在属性窗口找到Header1对象后,修改其Caption属性为“性别”。
(3)调整表格的列宽。
1)在属性窗口中设置列的Width属性。
2)在表格设计方式下,移动鼠标指针到表格列的标头之间,当鼠标指针变为左右两个方向的箭头时,按住鼠标左键,拖动列到适当的宽度。
(4)调整表格列的高度。
1)在属性窗口设置列的Height属性。
2)在表格设计方式下,移动鼠标到表格控件左侧的第一个按钮和第二个按钮之间,当鼠标指针变为上下箭头时,按住鼠标左键,拖动列到适当的高度。
(5)删除列。(www.xing528.com)
1)在表格的ColumnCount属性中改变表格的列数。
2)在属性窗口选择要删除的列,然后按DELETE键。
3)打开表格生成器,在表格选项卡中增加或者减少字段,从而改变列数。
(6)为表格添加数据源。
选择表格,在属性窗口中选择RecordSourceType属性,设置数据源的类型,比如设置为0—表,1—别名。选择RecordSource,指定与表格对象建立联系的数据源。如果是给列单独设置数据源,可以选择列,再单击属性窗口中的ControlSource属性,输入作为列的数据源别名、表名或者字段名。例如输入“教师.姓名。”
(7)向表格中添加记录。
设置表格的AllowAddNew属性为.T.,这样就允许我们向表格中添加新记录。可以通过Append Blank或者Insert命令向表格添加新记录。
(8)创建一对多表单。
如果表单的数据环境中包含存在一对多关系的两个表,可以在当某个控件显示父表数据的同时,使用表格显示子表中相应的数据。下面举例说明创建一对多表单的方法。
【例8-17】设计一个一对多表单,通过移动指针,显示与父表对应的子表信息。
具体步骤如下:
方法一:使用表单向导建立一对多表单。
(1)选择文件菜单中的“新建”,选择表单,单击“表单向导”按钮,弹出如图8-61所示的对话框。
(2)单击“确定”按钮,弹出如图8-62所示的一对多表单向导中的“步骤1-从父表中选定字段”窗口。从父表“教师.DBF”中选择字段“编号,姓名,性别,工作时间”等。
图8-61 表单向导
图8-62 从父表中选定字段
(3)单击“下一步”,弹出如图8-63所示“步骤2-从子表中选定字段”窗口。从可用字段中选择“专业,职称,工作年限和语种”。
(4)单击“下一步”,弹出如图8-64所示的“步骤3-建立表之间的关系”窗口。选择两个表中的编号关联。
图8-63 从子表中选定字段
图8-64 建立表之间的关系
(5)单击“下一步”,弹出如图8-65所示的“步骤4-选择表单样式”窗口。这里选择“标准式”和“文本按钮”。
(6)单击“下一步”,弹出如图8-66所示的“步骤5-排序次序”窗口。选择“编号”并选择“升序”。
图8-65 选择表单样式
图8-66 排序次序
(7)单击“下一步”,弹出如图8-67所示的“步骤6-完成”窗口。键入表单标题“教师”,单击“完成”按钮保存表单为My_form10.SCX。
(8)运行表单,如图8-68所示。
(9)单击各个功能按钮可以在表格上方显示父表信息,表格内同步显示子表相关信息。
方法二:
(1)创建表单My_form11.SCX,在表单的数据环境里添加父表教师.DBF和子表专业信息.DBF。
(2)在表单上添加一个标签、一个组合框和一个表格控件,各属性设置见表8-21。
表8-21 一对多表单属性设置
图8-67 完成一对多表单设计
其中:LinkMaster:指定与表格控件显示的子表相关联的父表。
ChildOrder:指定表格控件和父表相联系的记录源索引标识。
RelationaExpr:指定基于父表中的字段又与子表相联系的索引表达式。
(3)调整各控件到适当的位置,运行表单如图8-69所示。
图8-68 一对多表单实例
图8-69 一对多表单
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。