1、 Visual FoxPro 6.0 数据库应用基础数据库应用基础数据库应用基础数据库应用基础数据库的基础知数据库的基础知识。识。VF基本组基本组成部分(数据类成部分(数据类型、函数、表达型、函数、表达式、变量)等式、变量)等学习学习VF6.0VF6.0系统系统的基本操作命令、的基本操作命令、表的建立、维护、表的建立、维护、查询、统计等查询、统计等VF6.0VF6.0系统的程序系统的程序设计方法设计方法(结构化结构化程序设计、面向程序设计、面向对象程序设计)、对象程序设计)、表单、菜单、报表单、菜单、报表设计的方法等表设计的方法等通过商品进销存通过商品进销存实例介绍实例介绍VF的功的功能、数据
2、库应用能、数据库应用系统的基本结构系统的基本结构及开发过程及开发过程课程内容课程内容第第第第1 1部分部分部分部分VFVF基础知识基础知识基础知识基础知识第第第第2 2部分部分部分部分数据库操作数据库操作数据库操作数据库操作第第第第3 3部分部分部分部分 程序设计程序设计程序设计程序设计第第第第4 4部分部分部分部分VFVF应用系统开发应用系统开发应用系统开发应用系统开发数据库应用基础数据库应用基础 结构化程序设计思想与方法是通过将一个复杂问题将一个复杂问题划分成几个相对简单的子问题划分成几个相对简单的子问题,最后将每个问题按照每个问题按照一一定的顺序定的顺序,用,用命令行编写过程或函数命令行
3、编写过程或函数来实现来实现。-面向过程的程序设计方法。在面向对象的程序设计(Object Oriented Object Oriented ProgrammingProgramming,简称为,简称为OOPOOP)中,人们将自然界的物理对自然界的物理对象与程序中的对象象与程序中的对象对应起来,通过分析研究每一个对象每一个对象及对象之间的交互作用及对象之间的交互作用来完成整个系统的设计。这是程序设计思想与方法思想与方法“颠覆性的创新颠覆性的创新”在这种方法中,设计人员直接用一种称之为在这种方法中,设计人员直接用一种称之为“对象对象”的程序构件来描述的程序构件来描述客观问题中客观问题中“实体实体”
4、,并用,并用“对象对象”间的消息来模拟实体间的联系间的消息来模拟实体间的联系,用用“类类”来模拟这些来模拟这些实体间的共性实体间的共性。数据库应用基础数据库应用基础第八章第八章 表单设计 8.1 设 计 表 单 8.2 常用表单控件数据库应用基础数据库应用基础8 8.1 .1 设设 计计 表表 单单 返回8.1.1表单实例表单实例【例例8.18.1】建立表单,当用户输入一个建立表单,当用户输入一个“商品编号商品编号”时,可以在商时,可以在商品信息表(品信息表(spxx.dbfspxx.dbf)中查找并显示对应商品的信息。)中查找并显示对应商品的信息。操作步骤如下:(1)打开表单设计器。选择“文
5、件”“新建”命令,(2)添加数据环境。(3)添加控件并设置属性。(4)对控件的事件编程。(5)保存并运行。表单表单(Form)(Form)是是Visual FoxProVisual FoxPro提供的用于建立应用程序界面的提供的用于建立应用程序界面的最主要的工具之一,相当于最主要的工具之一,相当于WINDOWSWINDOWS应用程序的窗口应用程序的窗口.其扩展名为其扩展名为.scx.scx。数据库应用基础数据库应用基础8 8.1 .1 设设 计计 表表 单单 返回8.1.2 8.1.2 表单向导和表单设计器表单向导和表单设计器1用表单向导创建表单用表单向导创建表单启动启动表单向导表单向导有以下
6、三种途径:有以下三种途径:(1 1)在系统菜单中选择)在系统菜单中选择【文件文件】|【新建新建】命令,或者单击命令,或者单击工具栏上的工具栏上的“新建新建”按钮,打开按钮,打开“新建新建”对话框,在文对话框,在文件类型栏中选择件类型栏中选择“表单表单”。然后单击。然后单击“向导向导”按钮。按钮。(2 2)在系统菜单中选择)在系统菜单中选择【工具工具】|【向导向导】|【表单表单】命令。命令。(3 3)直接单击常用工具栏上的)直接单击常用工具栏上的“表单向导表单向导”图标按钮。图标按钮。【例例8.2】使用表单向导建立维护商品信息表使用表单向导建立维护商品信息表(spxx.dbf)的表单。)的表单。
7、数据库应用基础数据库应用基础8 8.1 .1 设设 计计 表表 单单 返回2用表单设计器创建和管理表单用表单设计器创建和管理表单启动启动表单设计器表单设计器有多种方法:有多种方法:(1)(1)菜单方法:若是新建表单,在系统菜单方法:若是新建表单,在系统 菜单中选择菜单中选择【文件文件】|【新新建建】,在文件类型对话框中选择,在文件类型对话框中选择“表单表单”,单击,单击“新建文件新建文件”按按钮;若是修改表单,则单击钮;若是修改表单,则单击【文件文件】|【打开打开】,在打开对话框中,在打开对话框中选择要修改的表单文件名,单击选择要修改的表单文件名,单击“打开打开”按钮。按钮。(2)(2)命令方
8、法:在命令方法:在COMMANDCOMMAND窗口输入如下命令:窗口输入如下命令:CREATE FORMCREATE FORM&创建新的表单创建新的表单 MODIFY FORMMODIFY FORM&修改已有的表单修改已有的表单(3)(3)在项目管理器中在项目管理器中(modify project)(modify project),先选择文档标签,然后选,先选择文档标签,然后选择表单,单击新建按钮。若是修改表单,选择要修改的表单,单择表单,单击新建按钮。若是修改表单,选择要修改的表单,单击击“修改修改”按钮。按钮。数据库应用基础数据库应用基础8 8.1 .1 设设 计计 表表 单单 返回表单设
9、计器环境介绍表单设计器环境介绍(1)表单设计器窗口)表单设计器窗口 表单设计器窗表单设计器窗表单设计器窗表单设计器窗表单设计器窗表单设计器窗口口口口口口“属性属性属性属性属性属性”窗口窗口窗口窗口窗口窗口表单控件工具表单控件工具表单控件工具表单控件工具表单控件工具表单控件工具栏栏栏栏栏栏表单设计器工具栏表单设计器工具栏表单设计器工具栏表单设计器工具栏表单设计器工具栏表单设计器工具栏表单菜单表单菜单表单菜单表单菜单表单菜单表单菜单布局工具布局工具布局工具布局工具布局工具布局工具栏栏栏栏栏栏数据库应用基础数据库应用基础8 8.1 .1 设设 计计 表表 单单 返回(2)属性窗口)属性窗口 设设计计
10、表表单单的的绝绝大大多多数数工工作作都都是是在在属属性性窗窗口口中中完完成成的的,因因此此用用户户必必须须熟熟悉悉属属性性窗窗口口的的用用法法。如如果果在在表表单单设设计计器器中中没没有有出出现现属属性性窗窗口口,可可在在系系统统菜菜单单中中单单击击【显显示示】|【属属性性】,属属性性窗窗口口如如图图所所示。示。对象对象属性设属性设置框置框属性说属性说明明选项选项卡卡属性列属性列表表数据库应用基础数据库应用基础8 8.1 .1 设设 计计 表表 单单 返回(3 3)表单控件工具栏)表单控件工具栏 设计表单的主要任务就是利用设计表单的主要任务就是利用“表单控件表单控件”设计交互式用户界面。设计交
11、互式用户界面。“表单控件表单控件”工具栏是工具栏是表单设计的主要工具。表单设计的主要工具。默认包含默认包含2121个控件、个控件、4 4个个辅助按钮,如右图所示:辅助按钮,如右图所示:辅助按钮辅助按钮(1 1)添加控件到表单)添加控件到表单 单击控件按钮,将鼠标移到表单上,然后单击表单击控件按钮,将鼠标移到表单上,然后单击表单放置控件或把控件拖至所需的大小。单放置控件或把控件拖至所需的大小。(2 2)“按钮锁定按钮锁定”按钮按钮 当该按钮处于按下状态时,可以从表单控件工具当该按钮处于按下状态时,可以从表单控件工具栏中单击选定某种控件按钮,然后在表单窗口中栏中单击选定某种控件按钮,然后在表单窗口
12、中连连续添加这种控件续添加这种控件。(3 3)“生成器锁定生成器锁定”按钮按钮 当该按钮处于按下状态时,每次往表单添加控件,当该按钮处于按下状态时,每次往表单添加控件,系统都会系统都会自动打开相应的生成器对话框自动打开相应的生成器对话框。(如单选控如单选控件)件)数据库应用基础数据库应用基础8 8.1 .1 设设 计计 表表 单单 返回(4 4)表单设计器工具栏)表单设计器工具栏 打开打开“表单设计器表单设计器”时,主窗口中会自动出现时,主窗口中会自动出现“表单设表单设计器计器”工具栏,如下图所示工具栏,如下图所示 :设置设置TAB键次序键次序数据环境数据环境属性窗口属性窗口代码窗口代码窗口表
13、单控件工具栏表单控件工具栏调色板工具栏调色板工具栏布局工具栏布局工具栏表单生成器表单生成器自动格式自动格式数据库应用基础数据库应用基础8 8.1 .1 设设 计计 表表 单单 返回(5)(5)数据环境数据环境 表单的数据环境包括与表单交互作用的表和视图表单的数据环境包括与表单交互作用的表和视图,以及表单所需要,以及表单所需要的表与表之间的关系。的表与表之间的关系。使用数据环境可以带来很多方便,比如在打开或使用数据环境可以带来很多方便,比如在打开或运行表单时,自动打开表或视图;在关闭或释放表单时自动关闭表。运行表单时,自动打开表或视图;在关闭或释放表单时自动关闭表。打开数据环境设计器打开数据环境
14、设计器 表单设计器环境下,单击表单设计器环境下,单击“表单设计器表单设计器”工具栏上的工具栏上的“数据环境数据环境”按钮,或选择按钮,或选择【显示显示】|【数据环境数据环境】命令,即可打开命令,即可打开“数据环境设计数据环境设计器器”窗口,此时,系统菜单栏上将出现窗口,此时,系统菜单栏上将出现“数据环境数据环境”菜单。菜单。数据环境的常用属性数据环境的常用属性 常用的两个数据环境属性是:常用的两个数据环境属性是:AutoOpenTablesAutoOpenTablesAutoCloseTablesAutoCloseTables 指定表单在数据环境中指定表单在数据环境中指定的表是否与表单一同打开
15、或关闭。指定的表是否与表单一同打开或关闭。数据库应用基础数据库应用基础8 8.1 .1 设设 计计 表表 单单 返回向数据环境添加表向数据环境添加表 在数据环境设计器环境下,按下列方法向数据环境添加表或视图:在数据环境设计器环境下,按下列方法向数据环境添加表或视图:1.在系统菜单中选择在系统菜单中选择【数据环境数据环境】|【添加添加】命令命令 2.右键单击右键单击“数据环境设计器窗口数据环境设计器窗口”,然后在弹出的快捷菜单中选,然后在弹出的快捷菜单中选择择【添加添加】命令,打开命令,打开“添加表或视图添加表或视图”对话框。对话框。从数据环境设计器中移去表或视图从数据环境设计器中移去表或视图
16、数据环境设计器中选择要移去的表或视图,右击所选的表或视数据环境设计器中选择要移去的表或视图,右击所选的表或视图,在出现的快捷菜单中选择图,在出现的快捷菜单中选择“移去移去”命令。当从数据环境设计器命令。当从数据环境设计器中移去表时,与这个表有关的所有关系也随之消失。中移去表时,与这个表有关的所有关系也随之消失。数据库应用基础数据库应用基础8 8.1 .1 设设 计计 表表 单单 返回在数据环境设计器中设置关系在数据环境设计器中设置关系 如果添加的一些表具有在数据库中设置的永久关系,如果添加的一些表具有在数据库中设置的永久关系,在数据环境设计器中就不用设置相应的关系,在数据环境设计器中就不用设置
17、相应的关系,这些表之间原这些表之间原来的关系在数据环境中仍然有效。来的关系在数据环境中仍然有效。向表单添加绑定控件向表单添加绑定控件(1 1)数据绑定的概念:数据绑定的概念:数据绑定是指将文本框与某个数据源联系数据绑定是指将文本框与某个数据源联系起来。用文本框的起来。用文本框的ControlSourceControlSource属性来指定。数据源有:属性来指定。数据源有:数据表的数据表的字段字段和和变量变量两种两种。(2 2)数据绑定的功效:数据绑定的功效:文本框与数据绑定后,文本框与数据绑定后,控件的值便与数据控件的值便与数据源的数据一致了。这时源的数据一致了。这时文本框与数据源之间可以相互
18、传递文本框与数据源之间可以相互传递数据数据。数据库应用基础数据库应用基础对象(对象(ObjectObject)是反映是反映客观事物属性及行为特征客观事物属性及行为特征。人。人们把自然界的物理对象与程序中的对象对应起来,将现实们把自然界的物理对象与程序中的对象对应起来,将现实世界的事物抽象为程序中的对象。世界的事物抽象为程序中的对象。对象把事物的对象把事物的属性和行为封装属性和行为封装在一起,形成一个相对在一起,形成一个相对独立的实体。独立的实体。在面向对象的程序设计中,对象是由在面向对象的程序设计中,对象是由属性及可以施加属性及可以施加在这些属性上的操作(方法)在这些属性上的操作(方法)所构成
19、的统一体,它是作为所构成的统一体,它是作为独立的单元来处理的独立的单元来处理的,是构成,是构成程序的程序的基本单位和运行实体基本单位和运行实体。在在Visual FoxProVisual FoxPro中,中,表单及控件等都是应用程序中表单及控件等都是应用程序中的对象的对象。用户通过。用户通过对象的属性、事件和方法程序对象的属性、事件和方法程序来处理对来处理对象。象。客观事物对象抽象静态特征动态特征属性方法、事件数据库应用基础数据库应用基础8 8.2 2 表表 单单 控控 件件 返回 控件是控件是Visual FoxProVisual FoxPro系统为系统为实现各种功能而定义的类实现各种功能而
20、定义的类,它直观,它直观方便且功能强大,使创建表单变得更加方便。所以如果想快速设计出方便且功能强大,使创建表单变得更加方便。所以如果想快速设计出满意的表单,满意的表单,了解和掌握各个控件的性质和使用方法很重要了解和掌握各个控件的性质和使用方法很重要。1 标签控件标签控件 标签(标签(LabelLabel)主要用来)主要用来在表单中显示文字信息。文字信息的内在表单中显示文字信息。文字信息的内容是由标签的容是由标签的CaptionCaption属性决定属性决定,因此,因此CaptionCaption属性是标签控件最重属性是标签控件最重要的属性。还有位置、大小、文字、背景色与前景色等要的属性。还有位
21、置、大小、文字、背景色与前景色等 属 性 名作 用AutoSize值为.T.时,可自动调整标签区域以适应其中文字内容的大小BackStyle指定背景是否透明。值为0时透明,标签的背景就是表单背景Caption指定在标签中显示的文本Visible决定标签中显示的文本是否可见。其值为.T.时(默认)可见;为.F.时,不可见数据库应用基础数据库应用基础8 8.2 2 表表 单单 控控 件件 返回2 2 文本框控件与编辑框控件文本框控件与编辑框控件 表单运行时其中的文本框(文本框(TextBoxTextBox)与编辑框()与编辑框(EditBoxEditBox)可以由用户直接输入数据与编辑数据用户直接
22、输入数据与编辑数据,是实现数据输入和输出的基本控件。其内容是由ValueValue属性决定,属性决定,ValueValue属性是文本框与编辑框控件最属性是文本框与编辑框控件最主要的属性。主要的属性。文本框或编辑框的主要区别在于:文本框只能供用户输入一段数文本框只能供用户输入一段数据,按回车键可结束输入,其数据类型可以为字符型(默认类型)、据,按回车键可结束输入,其数据类型可以为字符型(默认类型)、数值型、日期性、逻辑型。而编辑框数据类型数值型、日期性、逻辑型。而编辑框数据类型只能为字符型和备注型只能为字符型和备注型。在编辑框中可以输入多段数据,在编辑框中可以输入多段数据,属 性 名作 用Con
23、trolSource指定与数据源绑定的字段,如:spxx.商品编号PasswordChar 指定输入的内容是否显示为用户设置的字符。如:其值为“*”时,文本框中输入的内容都显示为“*”。多用于接收密码ReadOnly确定文本框是否为只读。值为.T.时为只读状态,文本框的值不可修改Value决定当前控件数据值的状态数据库应用基础数据库应用基础8 8.2 2 表表 单单 控控 件件 返回文本框的常用方法和事件文本框的常用方法和事件 方法方法:SetFocus SetFocus 使当前控件获得焦点。使当前控件获得焦点。如果想让名为Text1的文本框控件获得焦点,可以引用该方法:ThisForm.Te
24、xt1.SetFocus 事件:事件:GotFocus事件:当控件获得焦点时发生的事件。LostFocus事件:控件失去焦点时发生的事件。Valid事件:在控件失去焦点之前所发生的事件。常用来触发输入数据合法性的检查。数据库应用基础数据库应用基础文本框生成器:可以方便地为自己的文本框设置大部分可以方便地为自己的文本框设置大部分的常用属性。的常用属性。数据库应用基础数据库应用基础8 8.2 2 表表 单单 控控 件件 返回InputMaskInputMask属性值属性值InputMaskInputMask属性含义属性含义x x允许输入任何字符允许输入任何字符9 9允许输入数字和正负号允许输入数字
25、和正负号#允许输入数字、空格和正负号允许输入数字、空格和正负号$显示当前货币符号显示当前货币符号(由由SET CURRENCY SET CURRENCY 命令指定命令指定)$在数值前面相邻的位置上显示当前货币符号在数值前面相邻的位置上显示当前货币符号(浮浮动货币符动货币符)*在数值左边显示在数值左边显示*.指定小数点的位置指定小数点的位置,分隔小数点左边的数字串分隔小数点左边的数字串输入掩码字符的含义输入掩码字符的含义 数据库应用基础数据库应用基础8 8.2 2 表表 单单 控控 件件 返回【例例8.4】设计一个表单。要求:用文本框设计一个表单。要求:用文本框1的内容替换标签的内容替换标签1的
26、内容,用的内容,用文本框文本框2的内容替换标签的内容替换标签2的内容。其中文本框的内容。其中文本框1与商品信息表与商品信息表(spxx.dbf)中的)中的“商品编号商品编号”字段绑定;文本框字段绑定;文本框2的内容不能改动;的内容不能改动;表单运行后,文本框表单运行后,文本框2首先获得焦点;单击命令按钮完成替换。首先获得焦点;单击命令按钮完成替换。数据库应用基础数据库应用基础8 8.2 2 表表 单单 控控 件件 返回3 命令按钮控件命令按钮控件 单击命令按钮(单击命令按钮(CommandButton)来完成某个特定的控制。)来完成某个特定的控制。对于命令按钮,经常使用对于命令按钮,经常使用E
27、nable属性来确定按钮是否有效,如属性来确定按钮是否有效,如果按钮的果按钮的Enable属性为属性为.F.,则该按钮不可用,其标题变为暗灰色,则该按钮不可用,其标题变为暗灰色,单击该按钮不会引发该按钮的单击事件。单击该按钮不会引发该按钮的单击事件。属属 性性 名名作作 用用Caption 设置按钮的标题设置按钮的标题(可以加可以加=2或null不确定,只在代码中有效复选框常用属性复选框常用属性ControlSourceControlSource属性:属性:指定复选框的数据源指定复选框的数据源Style属性属性:值为值为0时,其外观为默认的方框。时,其外观为默认的方框。值为值为1时且时且pic
28、ture属性有效,则属性有效,则 为图形按钮为图形按钮picturepicture:用来指明复选框的按钮图标文件名:用来指明复选框的按钮图标文件名Caption:Caption:文本复选框的标题文本复选框的标题数据库应用基础数据库应用基础8 8.2 2 表表 单单 控控 件件 返回【例例8.7】设计一个通过复选框选中状态改变标签字体、颜色设计一个通过复选框选中状态改变标签字体、颜色的表单,不选中则恢复为原来状态。的表单,不选中则恢复为原来状态。数据库应用基础数据库应用基础8 8.2 2 表表 单单 控控 件件 返回7 组合框控件和列表框控件组合框控件和列表框控件 组合框(组合框(ComboBo
29、xComboBox)和列表框()和列表框(ListBoxListBox)的作用非常相的作用非常相似,似,都有一个供用户选择的列表,用户可以从中选择条目(数都有一个供用户选择的列表,用户可以从中选择条目(数据项),进行某些操作据项),进行某些操作。两者的主要区别两者的主要区别:(1 1)列表框任何时候都显示它的列表;组合框,通常只有列表框任何时候都显示它的列表;组合框,通常只有一个条目是可见的一个条目是可见的。用户可以单击组合框上的下三角按钮打开。用户可以单击组合框上的下三角按钮打开条目列表,从中选择。条目列表,从中选择。(2 2)组合框有两种形式:)组合框有两种形式:下拉组合框(下拉组合框(S
30、tyleStyle属性为属性为0 0)和和下拉列表框(下拉列表框(StyleStyle属性为属性为2 2)。对下拉组合框,用户既可以从。对下拉组合框,用户既可以从列表中选择,也可以在编辑区输入。对下拉列表框,用户只可列表中选择,也可以在编辑区输入。对下拉列表框,用户只可从列表中选择。从列表中选择。数据库应用基础数据库应用基础8 8.2 2 表表 单单 控控 件件 返回列表框常用属性:列表框常用属性:列表框常用属性:列表框常用属性:RowSourceTypeRowSourceType属性:指明数据源的类型。属性:指明数据源的类型。RowSourceRowSource属性:指定列表框的数据源。属性
31、:指定列表框的数据源。ListList属性:用以存取列表框中数据条目的字符串数组。例如,属性:用以存取列表框中数据条目的字符串数组。例如,LIST1LIST1代表列表框中的第一行(第一个数据项)。代表列表框中的第一行(第一个数据项)。ColumnCountColumnCount属性:指定列表框的列数属性:指定列表框的列数 。ValueValue属性:返回列表框中被选中的条目属性:返回列表框中被选中的条目 。ControlSource:ControlSource:用户可以通过该属性指定一个字或变量用以保存用户用户可以通过该属性指定一个字或变量用以保存用户从列表框中选择的结果。从列表框中选择的结果
32、。数据库应用基础数据库应用基础8 8.2 2 表表 单单 控控 件件 返回RowSourceTypeRowSourceType属性属性:指明列表框数据源的类型指明列表框数据源的类型RowSourceRowSource属性属性:指定列表框的数据源指定列表框的数据源RowSourceType类 型说 明0无只能用AddItem方法或AddListItem方法添加列表项1值用逗号分隔的多个值来作为列表项2别名数据表中的各字段来作为列表项,显示的字段数取决于ColumnCount属性的值,其值为0或1,列表将显示表中第一个字段的值;如果值为3,列表将显示表中最前面的三个字段值3SQL语句指定的Sele
33、ct-SQL命令结果作为列表项。,须将Select语句用引号括起来4查询文件指定一个qpr文件中的各项来作为列表项,用查询的结果填充列表5数组指定的数组中的各项作为列表项6字段用逗号分隔的多个字段列表来作为列表项7文件指定的文件夹中的各文件名作为列表项8结构用指定的表中的字段名来填充列表9弹出式菜单用一个先前定义的弹出式菜单来填充列表。这一选项是为了提供向后兼容性数据库应用基础数据库应用基础8 8.2 2 表表 单单 控控 件件 返回2 2列表框生成器列表框生成器 数据库应用基础数据库应用基础8 8.2 2 表表 单单 控控 件件 返回数据库应用基础数据库应用基础8 8.2 2 表表 单单 控
34、控 件件 返回列表框的常用方法和事件列表框的常用方法和事件(1 1)AddItemAddItem方法:在列表中添加一个新的数据项。如方法:在列表中添加一个新的数据项。如ThisForm.List1.AddItemThisForm.List1.AddItem(可口可乐可口可乐),此时此时RowSourceTypeRowSourceType属性必须设置为属性必须设置为0 0。(2 2)RemoveItemRemoveItem方法:删除相应的数据项。如方法:删除相应的数据项。如 ThisForm.List1.RemoveItem(i)ThisForm.List1.RemoveItem(i),即可删除
35、第,即可删除第i i项。项。(3 3)ClearClear方法:清除列表框中所有条目。如方法:清除列表框中所有条目。如ThisForm.List1.ClearThisForm.List1.Clear,即可清除列表框中所有条目。,即可清除列表框中所有条目。(4 4)Click Click 事件:当单击选择列表框中的一项数据时发生。事件:当单击选择列表框中的一项数据时发生。演示实验演示实验【例例8.88.8】设计一个表单。要求:把商品信息表(设计一个表单。要求:把商品信息表(spxx.dbfspxx.dbf)的字段添加到组合框中,在组合框中选择一个字段,可把该的字段添加到组合框中,在组合框中选择一
36、个字段,可把该字段的内容添加到列表框中;在列表框中选择条目时,被选字段的内容添加到列表框中;在列表框中选择条目时,被选择条目的内容显示在标签中。择条目的内容显示在标签中。数据库应用基础数据库应用基础返回8 表格控件表格控件 表格控件(表格控件(GridGrid)是)是Visual FoxProVisual FoxPro的一种以的一种以表格形式显表格形式显示或修改数据表中数据的控件示或修改数据表中数据的控件。表格的组成表格的组成(1)表格(表格(GridGrid):由一或若干列 组成。(2)列()列(ColumnColumn):一列可显示表 的一个字段,列由列标题和列 控件组成。(3)列标题(列
37、标题(Header1Header1):默认显示 字段名,允许修改。(4)列控件(例如列控件(例如Text1Text1):该列中的每个单元格都可用此控件来显示字段值。如如:thisform.grid1.column1.header1.capti:thisform.grid1.column1.header1.caption=“on=“商品价格商品价格”8 8.2 2 表表 单单 控控 件件 数据库应用基础数据库应用基础返回表格控件的创建表格控件的创建(1 1)由数据环境创建表格)由数据环境创建表格(2 2)用表格生成器创建表格)用表格生成器创建表格表格属性表格属性表格属性表格属性 ColumnCo
38、untColumnCount:指定表格中的列数。默认值为指定表格中的列数。默认值为-1-1,此时表格,此时表格中列出表的所有字段。中列出表的所有字段。RecordSourceRecordSource:指定数据源,即指定要在表格中显示的表指定数据源,即指定要在表格中显示的表 RecordSourceTypeRecordSourceType:指定数据源类型,可取指定数据源类型,可取0 0(表示表)或(表示表)或1 1(表示别名)。(表示别名)。AllowAddNewAllowAddNew:该属性为该属性为.T.T.时允许用户向表格中的表添加记时允许用户向表格中的表添加记录录.如果为如果为.F.(.
39、F.(默认值默认值),),只能用只能用APPEND BLANKAPPEND BLANK或或INSERTINSERT命令来添命令来添加记录加记录.建议大家用建议大家用“表格生成器表格生成器”,简单易用!,简单易用!8 8.2 2 表表 单单 控控 件件 数据库应用基础数据库应用基础返回10 图像控件图像控件 Picture Picture 设置要显示的位图文件。设置要显示的位图文件。BorderStyle BorderStyle 设置图象是否有边框。设置图象是否有边框。Stretch Stretch 如果设置为如果设置为 0-0-剪切剪切,表示图象中超出图象控件范围的部分不显示。,表示图象中超出
40、图象控件范围的部分不显示。1-1-等比填充等比填充,则表示图象控件保持图片原有尺寸比例,但尽,则表示图象控件保持图片原有尺寸比例,但尽 可能地显示在控件中。可能地显示在控件中。2-2-变比填充变比填充,也就是系统自动调整图象的大小,与图象控件,也就是系统自动调整图象的大小,与图象控件的高度与宽度相匹配。的高度与宽度相匹配。常用属性常用属性8 8.2 2 表表 单单 控控 件件 数据库应用基础数据库应用基础返回11 计时器控件计时器控件 计时器的两个关键属性:计时器的两个关键属性:Enabled Enabled 如果希望在表单装入后立即启动计时器,则把如果希望在表单装入后立即启动计时器,则把该属
41、性设置为该属性设置为.T.-.T.-真;否则把它设置为真;否则把它设置为.F.-.F.-假,然后用假,然后用一个外部事件(如单击命令按钮)来启动计时器。一个外部事件(如单击命令按钮)来启动计时器。Interval Interval 设置两个计时器事件之间的时间间隔(单位设置两个计时器事件之间的时间间隔(单位为毫秒)。为毫秒)。计时器的一个重要事件:计时器的一个重要事件:TimerTimer 每隔每隔IntervalInterval属性设置的时间间隔,该事件将属性设置的时间间隔,该事件将由系统触发一次由系统触发一次。注意:注意:计时器事件是周期性的,间隔长度越小,事件产生就越频繁,响应事件所花费
42、的时间就越多,这将会使应用程序的整体性能下降。所以一般不要设置很小的间隔。8 8.2 2 表表 单单 控控 件件 数据库应用基础数据库应用基础返回12 页框控件 页框是一个容器页框是一个容器,可以包含多个页可以包含多个页,类似于选项卡类似于选项卡.页框控件常用属性:页框控件常用属性:ActivePageActivePage:指定当前活动页:指定当前活动页 PageCountPageCount:确定页框的总页数。确定页框的总页数。TabsTabs:确定是否显示选项卡。为确定是否显示选项卡。为.T.T.时显示选项卡;为时显示选项卡;为.F.F.时时不显示选项卡。不显示选项卡。TabStyleTab
43、Style:确定选项卡的显示方式。确定选项卡的显示方式。0:0:选项卡两端对齐显示;选项卡两端对齐显示;1:1:选项卡左对齐显示。选项卡左对齐显示。页框控件常用方法程序:页框控件常用方法程序:RefreshRefresh:刷新活动页面。刷新活动页面。8 8.2 2 表表 单单 控控 件件 数据库应用基础数据库应用基础返回【例例8.128.12】建立如图建立如图8-468-46所示的表单。页框中一页显示商品所示的表单。页框中一页显示商品信息表(信息表(spxx.dbfspxx.dbf)的信息,另一页显示进货信息表)的信息,另一页显示进货信息表(jhxx.dbfjhxx.dbf)的信息。)的信息。8 8.2 2 表表 单单 控控 件件 演示实验演示实验