1、第第7章高级窗口控件章高级窗口控件7.1高级窗口控件在应用中的地位高级窗口控件在应用中的地位7.2高级窗口控件的基本知识与用法高级窗口控件的基本知识与用法7.3数据窗口控件数据窗口控件7.4高级窗口控件应用实例高级窗口控件应用实例小结小结 返回总目录返回总目录7.1 高级窗口控件在应用中的地位高级窗口控件在应用中的地位 本章介绍的控件和第三章的控件相比较,在使用本章介绍的控件和第三章的控件相比较,在使用方法和界面上都稍微复杂一些,但它们在实际应方法和界面上都稍微复杂一些,但它们在实际应用中也是比较常用的。用好这些控件,可以完成用中也是比较常用的。用好这些控件,可以完成简单控件不能完成的功能,从
2、而减少很多编程工简单控件不能完成的功能,从而减少很多编程工作,如富文本在运行作,如富文本在运行PowerBuilder程序过程中,程序过程中,不启动写字板或不启动写字板或Word处理器,就可以处理用户输处理器,就可以处理用户输入的文本,或调用一些文本进行编辑入的文本,或调用一些文本进行编辑;数据窗口控数据窗口控件是件是PowerBuilder中的一个核心控件,是否能够中的一个核心控件,是否能够熟练使用熟练使用PowerBuilder进行项目开发在很大程度进行项目开发在很大程度上决定于如何更好地使用该控件。所以认真学习上决定于如何更好地使用该控件。所以认真学习这些高级窗口控件,不仅可以丰富窗口知
3、识,减这些高级窗口控件,不仅可以丰富窗口知识,减少系统编程量,也可以为操作者提供更直观、方少系统编程量,也可以为操作者提供更直观、方便、快捷的操作功能便、快捷的操作功能 返回章目录返回章目录7.2 高级窗口控件的基本知识与用法高级窗口控件的基本知识与用法7.2.1 下拉列表框与下拉图片列表框下拉列表框与下拉图片列表框7.2.2 图片(图片(Picture)与图片超链接)与图片超链接(PictureHyperLink)7.2.3 统计图(统计图(Graph)7.2.4 富文本(富文本(RichTextEdit)7.2.5 OLE控件控件 返回章目录返回章目录7.2.1 下拉列表框与下拉图片列表框
4、下拉列表框与下拉图片列表框 1.下拉列表框 下拉列表框控件实际上是单行编辑器与列表框的组合,可以从该控件中选择内容。当允许编辑该控件中的内容时(可将控件的AllowEdit属性设为True),可以像单行编辑器一样在该控件中输入或者修改文本内容,如图71所示。返回本节返回本节录录7.2.1 下拉列表框与下拉图片列表框下拉列表框与下拉图片列表框(1)属性 下拉列表框的属性实际上是列表框和单行编辑器属性的综合,如图72和图73所示。返回本节返回本节录录7.2.1 下拉列表框与下拉图片列表框下拉列表框与下拉图片列表框(2)事件 下拉列表框控件的事件也综合了单行编辑器与列表框的事件部分。比较常用的事件如
5、下:SelectionChanged事件:该事件在用户从下拉列表框中选择列表项时被触发。它的用法同列表框,读者可以参考列表框部分。注意 当在编辑框中修改文本时,不会触发该事件。返回本节返回本节录录7.2.1 下拉列表框与下拉图片列表框下拉列表框与下拉图片列表框 DoubleClicked事件:用户双击下拉式列表框中的列表项时触发该事件。该事件的用法同列表框。读者可以参考列表框部分。注意 该事件只有在下拉式列表框的ShowList属性为True时,才能起作用。Modified事件:该事件在用户修改编辑框部分的文本,并且使该控件失去焦点时才被触发。返回本节返回本节录录7.2.1 下拉列表框与下拉图
6、片列表框下拉列表框与下拉图片列表框(3)函数 在下拉列表框的常用函数中,与列表框相似的有:AddItem()、DeleteItem()、FindItem()、InsertItem()和SelectItem();与单行编辑器相似的有:ReplaceText()、SelectedLength()和SelectedStart()。返回本节返回本节录录7.2.1 下拉列表框与下拉图片列表框下拉列表框与下拉图片列表框 2.下拉图片列表框 该列表框与下拉列表框相似,两者的区别在于前者可以在列表项中同时显示图片和文本,就像图片列表一样。实际上是图片列表框与单行编辑器的组合,如图74所示。返回本节返回本节录录
7、7.2.2 图片(图片(Picture)与图片超链)与图片超链接(接(PictureHyperLink)1.图片 PowerBuilder的图片控件提供了对图像的支持。利用图片控件可以显示BMP、RLE、JPG、GIF、WMF等格式的图像,如图75所示。返回本节返回本节录录7.2.2 图片(图片(Picture)与图片超链)与图片超链接(接(PictureHyperLink)图片的属性如图76所示,其中图片文件名称可以直接在PictureName编辑栏中输入,也可以点击其右侧的“.”按钮进行选择。返回本节返回本节录录7.2.2 图片(图片(Picture)与图片超链)与图片超链接(接(Pict
8、ureHyperLink)2.图片超链接 图片超链接控件是PowerBuilder提供的用于开发“Internet”网络应用程序的控件,如图77所示。返回本节返回本节录录7.2.2 图片(图片(Picture)与图片超链)与图片超链接(接(PictureHyperLink)该控件访问“Internet”网络是通过属性中的URL(地址属性)来实现的,如图78所示。返回本节返回本节录录 7.2.3 统计图(统计图(Graph)统计图是一种用图形来表示数据的控件,具有直观、形象和概括地表现数据的特点,同时具有易于查看、统计和分析等优点,被各行各业广泛使用。1.统计图的结构 在实际应用中经常设计标题(
9、Title)、值轴(Value轴)、分类轴(Category轴)、序列(Series)、图例(Legend)等,通过对这几项的设置来改变图形的外观,从而适应具体应用的需要。返回本节返回本节录录 7.2.3 统计图(统计图(Graph)2.统计图的种类 PowerBuilder提供了17种统计图,可以粗略划分为平面图形和立体图形两大类,也可以更细致地划分为6类,即:条状图、列图和线图;饼图;堆积图;散点图;三维图;其他。图79为条状图 返回本节返回本节录录 7.2.3 统计图(统计图(Graph)3.统计图的属性 在属性窗口中Graph控件的标签页有四个,分别用来设置常用属性、轴属性、文字属性和
10、其他属性。如图710所示为统计图的General标签页。返回本节返回本节录录 7.2.3 统计图(统计图(Graph)4.函数 Graph控件提供了丰富的函数,用来控制数据的提取、外观的调整以及与用户的交互等,下面根据实际应用情况介绍几个常用函数的用法。(1)AddCategory函数 为图形控件添加一个分类轴,只有当分类轴的数据类型为String时才可以使用该函数。语法格式为:ControlName.AddCategory(CategoryName)其中,ControlName为图形名称,CategoryName为要添加的分类轴名称。返回值类型为整型,成功时值为新加分类轴的序号;失败时值为-
11、1。例如:为图形控件gr1添加名称为“OK”的分类轴。gr1.AddCategory(OK)返回本节返回本节录录 7.2.3 统计图(统计图(Graph)(2)AddSeries函数 为图形控件添加一个系列轴。语法格式为:ControlName.AddSeries(SeriesName)其中,SeriesName为要添加的轴名称。函数执行成功后,返回新添加的系列轴的索引号,如果已经有同名系列轴存在,则返回同名系列轴的索引号。例如:为图形控件gr1添加名称为“123”的系列轴。Integer Number Number=gr1.AddSeries(123)返回本节返回本节录录 7.2.3 统计图
12、(统计图(Graph)(3)AddData函数 该函数可以向图形控件的数据轴添加数据。语法格式为:ControlName.AddData(SeriesNumber,DatavalueCategoryValue)其中,CategoryValue为添加数据在分类轴上的分类值。例如:添加数据300到图形控件gr1的“123”系列轴。Integer Number Number=gr1.FindSeries(123)gr1.AddData(Number,300)返回本节返回本节录录 7.2.3 统计图(统计图(Graph)5.统计控件的编程 综合前面所学的内容,设计如图711所示的统计图。该统计图为产品
13、销售情况一览表,主要产品有“茶杯”、“地毯”和“毛巾”。返回本节返回本节录录 7.2.3 统计图(统计图(Graph)分别将三种产品按第一季度、第二季度和第三季度划分的不同销售量利用条形图来显示。其操作步骤如下:(1)在PowerBuilder工作区中,创建窗口,名称为w Graph。选择窗口画板菜单Insert.Control.Graph。这时将统计图控件插入新建的w Graph窗口中。返回本节返回本节录录 7.2.3 统计图(统计图(Graph)(2)在窗口画板中添加静态文本框st1(显示形式),下拉列表框ddlb show(为下拉列表添加下拉选项),如图712所示。返回本节返回本节录录
14、7.2.3 统计图(统计图(Graph)(3)编写代码:在窗口w Graph的Open事件中编写如下代码/当运行此窗口时统计图将按下列设置在窗口中显示gr1.Reset(All!)Integer Number Number=Gr1.Addseries(地毯)gr1.AddData(Number,800,1季度)gr1.AddData(Number,700,2季度)gr1.AddData(Number,710,3季度)Number=Gr1.AddSeries(毛巾)gr1.AddData(Number,700,1季度)gr1.AddData(Number,900,2季度)gr1.AddData(
15、Number,500,3季度)Number=Gr1.AddSeries(茶杯)gr1.AddData(Number,260,1季度)gr1.AddData(Number,400,2季度)gr1.AddData(Number,300,3季度)返回本节返回本节录录 7.2.3 统计图(统计图(Graph)下拉列表的SelectionChanged事件 .当鼠标选中某一种统计图风格时,触发该事件。并按该种风格在左侧的统计图控.件中显示其外观。Choose Case ddlb show.Text CaseArea3Dgr1.GraphType=Area3D!CaseAreaGraph gr1.Grap
16、hType=AreaGraph!CaseBar3DGraph gr1.GraphType=Bar3DGraph!CaseBar3DObjGraph gr1.GraphType=Bar3DObjGraph!CaseBarGraph gr1.GraphType=BarGraph!CaseBarStack3DObjGraph gr1.GraphType=BarStack3DObjGraph!返回本节返回本节录录 7.2.3 统计图(统计图(Graph)CaseBarStackGraph gr1.GraphType=BarStackGraph!CaseCol3DGraph gr1.GraphType=
17、Col3DGraph!CaseCol3DObjGraph gr1.GraphType=Col3DObjGraph!CaseColGraph gr1.GraphType=ColGraph!CaseLine3D gr1.GraphType=Line3D!CaseLineGraph gr1.GraphType=LineGraph!CasePie3D gr1.GraphType=Pie3D!CasePieGraph gr1.GraphType=PieGraph!End Choose 返回本节返回本节录录7.2.4 富文本(富文本(RichTextEdit)该控件是一个功能强大的编辑器,它的功能类似于M
18、ultilineEdit,也是一个多行编辑器。它不仅可以编辑纯文本格式的文字,而且还可以使用Windows提供的字体、字号和颜色。其外观如图713所示。返回本节返回本节录录7.2.4 富文本(富文本(RichTextEdit)1.属性 富文本的General标签页如图714所示。在该标签页中,可以设置控件名称、是否有横纵向滚动条和是否可以动态调整控件的大小等属性。返回本节返回本节录录7.2.4 富文本(富文本(RichTextEdit)富文本的主要属性在Document标签页中设置,如图715所示。在该标签页中可以设置是否显示标尺、是否显示工具栏以及是否显示页眉和页脚等属性。返回本节返回本节录
19、录7.2.4 富文本(富文本(RichTextEdit)2.函数 富文本提供丰富的操作函数,下面主要介绍较常用的富文本函数:(1)SaveDocument函数该函数是将富文本控件中的内容以.rtf或.txt格式保存起来。语法格式为:RteName.SaveDocument(FileName,FileType)其中,RteName为富文本控件名;FileName为保存文件的名称;FileType为文件的类型,系统提供参数有FileTypeRichText!(.rtf格式)和FileTypeText!(.txt格式)。返回值类型为整型:1表示成功;-1表示不成功。例如:将富文本中的内容以.txt格
20、式保存到d:shenhuiproduct.txt内的书写格式:Integer Number Number=rte1.SaveDocument(d:shenhuiproduct.txt,FileTypeText!)返回本节返回本节录录7.2.4 富文本(富文本(RichTextEdit)(2)SelectText函数 该函数的主要功能是在富文本控件中选择一段特定位置的文本。语法格式为:RteName.SelectText(Fromline,Fromchar,Toline,TocharBand)其中,RteName为富文本控件名;Fromline为起始行号;Fromchar为此行中的起始字符号;T
21、oline为结束行号;Tochar为在此行中的结束字符号;Band为选择区域。例如:选择RichText控件中第三行第二个字符至第五行第四个字符的文本为:rte1.SelectText(3,2,5,4)返回本节返回本节录录7.2.4 富文本(富文本(RichTextEdit)(3)DataSource函数 该函数是在富文本控件中使用数据窗口中的数据。语法格式为:RteName.DataSource(DwSource)其中,RteName为富文本控件名称;DwSource为数据窗口控件或存储过程的名称。返回本节返回本节录录7.2.4 富文本(富文本(RichTextEdit)3.富文本应用实例
22、根据以上所学的富文本基本知识创建如图713所示的富文本。该例主要实现在PowerBuilder中运行此窗口时,可以像写字板一样设置字体、字号和字的颜色等。在保存输入内容时,可以选择两种不同的保存格式,还可以打印输入的内容 返回本节返回本节录录7.2.5 OLE控件控件 OLE(对象链接与嵌入)是一种在应用程序中链接其他应用程序或控件的技术。利用OLE控件可以在窗口中嵌入OLE兼容的应用程序。在PowerBuilder中,OLE应用有两种类型:一种是在PowerBuilder应用程序中嵌入OLE兼容的其他应用程序,另一种是在PowerBuilder应用程序的窗口中添加OLE自定义控件。例如可以在
23、窗口中放置OLE控件,并定义该控件连接Microsoft公司的Word和Excel等应用软件,这样就可以直接利用所链接的软件做各种处理工作了。还可以把自定义控件(ActiveX控件)放置到窗口中,实现PowerBuilder标准控件无法实现的功能。返回本节返回本节录录7.2.5 OLE控件控件利用OLE控件调用画图的具体步骤:(1)新建一个窗口名称为w OLE,然后在窗口画板中单击菜单“Insert.Control.OLE”,弹出图716所示对话框。返回本节返回本节录录7.2.5 OLE控件控件(2)在弹出对话框中有三个标签页,功能分别如下:“Create New”标签页:创建或嵌入新的OLE
24、对象。“Create From File”标签页:选择已经存在的OLE对象。“Insert Control”标签页:插入控件。返回本节返回本节录录7.2.5 OLE控件控件(3)在三个标签页中选择第一个标签页“Create New”,在所列的ObjectType中选择位图图像,如图716所示 返回本节返回本节录录7.2.5 OLE控件控件单击图上的“OK”按钮,然后在要放置该控件的窗口画板中单击,画图将被打开,如图717所示。返回本节返回本节录录7.2.5 OLE控件控件(4)图717中弹出的画图和在附件中我们使用的画图是一样的,可以使用画笔绘制我们所需要的图形,如图717所示。如果所需要的内
25、容已经绘制完成即可关闭画图,这时在PowerBuilder中保存画板中所画的内容。返回本节返回本节录录7.2.5 OLE控件控件(5)如果在PowerBuilder画板中OLE控件中的图形没画完或还需要完善时,在画板中该控件上右击,在弹出的菜单中选择“Open”菜单项,这时将重新弹出画图,继续修改即可。(6)保存该内容,试运行,双击OLE控件,OLE服务器被激活,如图718所示 返回本节返回本节录录7.3 数据窗口控件数据窗口控件 7.3.1 使用数据窗口控件使用数据窗口控件 7.3.2 设置数据窗口控件的属性设置数据窗口控件的属性 7.3.3 数据窗口对象与数据窗口控数据窗口对象与数据窗口控
26、件的关联件的关联 7.3.4 操纵数据窗口的数据操纵数据窗口的数据 返回章目录返回章目录7.3.1 使用数据窗口控件使用数据窗口控件在窗口上布置数据窗口控件的方法与第五章中布置其他控件的方法相同,如图719所示。返回本节返回本节录录7.3.2 设置数据窗口控件的属性设置数据窗口控件的属性 数据窗口控件和其他窗口控件一样,也可以通过设置它的属性,来改变它的外观和动作,使它能更方便地为数据处理服务。当我们向窗口中放置了一个数据窗口控件或者选中了窗口上已有的控件后,画板的“Properties”视图中就显示出了该数据窗口控件的属性,如图720属性视窗所示。返回本节返回本节录录 7.3.3 数据窗口对
27、象与数据窗口控件的关联 在窗口画板上新添加的数据窗口控件为空白框,预览时没有任何内容。当数据窗口控件要显示数据库中内容时就需要与数据窗口对象关联,其中有两种方式:1.静态关联(1)首先进入窗口画板,在窗口中插入一个新的数据窗口控件(在此之前已创建需要关联的数据窗口对象)。返回本节返回本节录录 7.3.3 数据窗口对象与数据窗口控件的关联(2)在窗口画板中右击数据窗口控件,选择弹出菜单中的“Properties”属性,或选择“Views.Properties”属性,进入图720所示的属性视窗。返回本节返回本节录录 7.3.3 数据窗口对象与数据窗口控件的关联(3)在属性视窗的General标签页
28、的DataObject编辑框中输入所要关联的数据窗口对象的名称或者点击右边的“Browse.”按钮,这时会弹出“Select Object”对话框,如图721所示。返回本节返回本节录录 7.3.3 数据窗口对象与数据窗口控件的关联(4)在弹出的对话框中选择所需的数据窗口对象名称,然后单击“OK”按钮,返回到窗口画板中,并保存所做的修改。完成上述步骤之后,就将一个数据窗口对象与窗口中的一个数据窗口控件连接起来。这时在数据窗口控件中不再显示空白,而是显示数据窗口对象的标题信息。返回本节返回本节录录 7.3.3 数据窗口对象与数据窗口控件的关联 2.动态关联 除了可在数据窗口控件的属性对话框中直接设
29、置数据窗口控件所关联的数据窗口对象外,在应用程序中,也可以动态地关联数据窗口对象。从上面设置属性过程可知,数据窗口控件和数据窗口对象的关联是利用了数据窗口控件的一个名为DataObject的属性。返回本节返回本节录录 7.3.3 数据窗口对象与数据窗口控件的关联 这个属性的值是一个包含数据窗口对象名称的字符串。在程序中,可以通过动态地修改这个属性的值来修改所关联的数据窗口对象,即在所要修改的关联数据窗口对象的事件中输入下面的语句:DwControlName.DataObject=d objectname 例如:dw1.DataObject=d dd kehu name 是将数据窗口控件dw1中
30、的数据窗口对象的名称改为“d dd kehu name”。其中“d ddkehu name”是在数据窗口画板中已创建的。返回本节返回本节录录 7.3.4 操纵数据窗口的数据 1.几个重要概念(1)缓冲区 数据窗口控件把从数据库中检索到的数据都存放到本地计算机的内存中,这块内存就是数据窗口控件的缓冲区。(2)编辑状态 当前缓冲区(Primary)和删除缓冲区(Delete)为每一行和每一列的数据都维护了一个编辑状态值(Edit Status Flag),这个状态值是一个叫做DwItemStatus的枚举类型值。该枚举类型有四种类型:NotModified!、DataModified!、New!和
31、NewModified!。返回本节返回本节录录 7.3.4 操纵数据窗口的数据 (3)编辑控件 在PowerBuilder中,数据窗口使用编辑控件(Edit Control)来接收用户的输入。编辑控件是PowerBuilder内部使用的一个控件。我们不能修改它,只能通过GetText函数来获得它的内容。返回本节返回本节录录 7.3.4 操纵数据窗口的数据 (4)有效性验证 在数据窗口的编辑控件上输入了某个数据项的值后,当用户将焦点移到下一个可编辑字段上的时候,数据窗口就要对输入的数据进行有效性的检查。有效性验证主要是检查用户输入的数据与数据窗口中该字段的类型是否匹配。返回本节返回本节录录 7.
32、3.4 操纵数据窗口的数据 2.数据窗口控件的工作原理 当数据窗口控件的内容发生变化时,PowerBuilder将按如下顺序进行检查:首先:检查控件的文本是否是正确的数据类型,并转换为对应列的数据类型。例如当前列的数据类型是一个数值类型的数据,那么PowerBuilder会把控件内的文本自动转换成相应的数据类型,出错就会触发ItemError事件。返回本节返回本节录录 7.3.4 操纵数据窗口的数据 其次:如果控件内的文本能够转换为相应的数据类型,那么PowerBuilder会使用该列的有效性,对转换后的数据进行有效性检查。如果有效性检查失败的话,也会触发ItemError事件。例如:如果当前
33、列要求订货最低数量为50,而用户输入30,那么就不能通过有效性规则的检查。返回本节返回本节录录 7.3.4 操纵数据窗口的数据 最后:通过了上面的检查之后,PowerBuilder就会触发ItemChange事件。一般在这个事件中用户需输入自己要检查的一些规则 返回本节返回本节录录 7.3.4 操纵数据窗口的数据 3.数据库数据操纵函数(1)数据检索 检索数据使用的是Retrieve()函数,Retrieve()的使用格式为:DwControlName.Retrieve(参数1,参数2)DwControlName是数据窗口控件的名称 返回本节返回本节录录 7.3.4 操纵数据窗口的数据 (2)
34、数据更新 更新数据使用Update函数,其语法格式为:DataControlName.Update(Accept,ResetFlag)其中Accept是一个布尔类型的参数,用来表示数据窗口是否在执行Update函数操作之前自动执行AcceptText()函数。参数ResetFlag也是一个布尔类型的参数,用来表示数据窗口是否自动重设Update标志。返回本节返回本节录录 7.3.4 操纵数据窗口的数据 (3)InsertRow函数 该函数在数据窗口控件指定行前插入一行。语法格式为:Dwcontrol.InsertRow(Row)其中,Dwcontrol是数据窗口控件名;Row指定在哪一行前面插
35、入新行。当Row为0时表示在最后一行插入一新行。函数返回值类型为整型,成功时返回新插入行的行号;不成功时返回-1。返回本节返回本节录录 7.3.4 操纵数据窗口的数据 (4)DeleteRow函数 该函数将删除数据窗口控件中指定行数据。语法格式:Dwcontrol.DeleteRow(Row)其中,Dwcontrol为数据窗口控件名;Row为要删除数据的行号。当Row为0时表示删除当前行。函数返回值类型为整型,成功时返回1,不成功时返回-1。返回本节返回本节录录 7.3.4 操纵数据窗口的数据 4.缓冲区数据操纵函数(1)字段排序 如果对数据窗口对象内的数据进行重新排序,PowerBuilde
36、r提供了两个函数:SetSort()函数和Sort()函数,格式分别为:DwControlName.SetSort(SortExpression)DwControlName.Sort()其中第一个函数是用户用来指定排序表达式的,第二个函数是按第一个函数所指的排序表达式来排序的 返回本节返回本节录录 7.3.4 操纵数据窗口的数据 (2)数据检索 过滤或检索数据使用函数SetFilter()和Filter(),其语句格式分别为:dwControlName.SetFilter(Filter Expression)dwControlName.Filter()其含义与SetSort()函数一样。返回本
37、节返回本节录录 7.3.4 操纵数据窗口的数据 5.数据行滚动函数(1)Scroll函数 该函数是将数据窗口控件上编辑框的内容,按指定方向和行数滚动。语法格式为:DwControlName.Scroll(Number)其中,Number为滚动的行数,正值为向下滚动,负值为向上滚动。返回值类型为整型,成功时返回控件第一行显示的数据行号;不成功时返回-1 返回本节返回本节录录 7.3.4 操纵数据窗口的数据 (2)ScrollToRow函数 该函数功能为滚动到数据窗口控件的指定行,该函数改变行数但不改变列数。语法格式:DwControlName.ScrollToRow(Row)其中,Row为指定的
38、行号,返回值类型为整型,成功时返回1;不成功时返回-1。返回本节返回本节录录 7.3.4 操纵数据窗口的数据 (3)ScrollNextRow函数 该函数是将数据窗口控件中的内容滚动到下一行,该函数改变行数但不改变列数。语法格式为:DwControlName.ScrollNextRow()返回值类型为整型,成功时返回显示在数据窗口中第一个可见行的行号;不成功时返回-1。与该函数相类似的函数为ScrollPriorRow函数(滚动到上一行)和ScrollNextPage函数(滚动到下一页),其格式与该函数相近 返回本节返回本节录录 7.3.4 操纵数据窗口的数据 6.数据行操作函数(1)GetR
39、ow函数 该函数为获得数据窗口中当前行的行号。语法格式为:DwControlName.GetRow()返回值类型为整型,成功时返回数据窗口当前行的行号,如果没有当前行,函数返回0;不成功时返回-1 返回本节返回本节录录 7.3.4 操纵数据窗口的数据 (2)GetColumn函数 该函数为获得数据窗口中当前列的列号。语法格式为:DwControlName.GetColumn()返回值类型为整型,成功时返回数据窗口当前列的列号,如果没有当前列,函数返回0;不成功时返回-1。返回本节返回本节录录 7.3.4 操纵数据窗口的数据 (3)RowCount函数 该函数返回数据窗口当前所显示的行数。语法格
40、式为:DwControlName.RowCount()函数返回值类型为整型,成功时返回主缓冲区中数据行数;不成功时返回-1。返回本节返回本节录录 7.3.4 操纵数据窗口的数据 7.数据项操纵函数(1)获取数据 从指定的行和列获取数据,可使用PowerBuilder提供的GetItem系列函数。对于字符串、数字、日期、时间和小数等各个类型都有各自对应的一个函数。每个函数都有同样的数据类型,返回指定行和列的值。返回本节返回本节录录 7.3.4 操纵数据窗口的数据 (2)GetText函数 该函数的功能为返回数据窗口控件当前行、列上的编辑框中的文本。语法格式为:DwControlName.GetT
41、ext()返回值为当前数据窗口中数据项的文本,如果该项没有内容则返回空字符串()。返回本节返回本节录录7.4 高级窗口控件应用实例高级窗口控件应用实例 实例说明 本例演示如何创建不同要求的数据查询,实现检索数据库中信息的功能。通过这个例子介绍单值查询、模糊查询和组合查询的方法。本例主要使用数据窗口来设置过滤器函数(SetFilter()和过滤函数(Filter()等。查询窗口界面如图722所示。图722 查询窗口 返回章目录返回章目录7.4 高级窗口控件应用实例高级窗口控件应用实例 设计思路 操作者通过对下拉列表框的选择,实现不同要求的查询。此窗口主要设计思路为:单值查询,即只能按某一列内容查
42、询,并且输入的关键字与所查询字段是完全匹配的。模糊查询,即关键字的部分匹配查询。组合查询,即多条件查询,可以输入两个或两个以上的条件。在此例中由于篇幅限制,我们只讲解两个条件的查询方法,再增加条件与此相同。返回本节返回本节录录7.4 高级窗口控件应用实例高级窗口控件应用实例 实现过程 1.建立数据窗口对象(d dd grit)采用表格风格的数据窗口格式设计。在数据窗口中,设置订单号、客户号、产品号字段等。保存数据窗口对象名称为d dd grit。返回本节返回本节录录7.4 高级窗口控件应用实例高级窗口控件应用实例 2.建立“查询窗口”(w find)(1)首先创建窗体,设置窗体的各项属性;(2
43、)然后设置各个控件及各自的属性。设置的窗口控件如下:数据窗口控件:dw1(将其与数据窗口对象关联)。静态文本:选择查询方式(st1)、选择查询列(st2)、符号选择(st3)、输入查询内容(st4)和条件组合(st5)。这些文本主要用于提示功能。返回本节返回本节录录7.4 高级窗口控件应用实例高级窗口控件应用实例 下拉列表框:ddlb1(用于选择查询列1),ddlb2(用于选择查询列2)、ddlb3(用于符号选择1)、ddlb4(用于符号选择2)、ddlb5(用于条件组合)和ddlb6(用于选择查询方式)。主要用于用户操作选择,节省输入时间。单行输入文本:sle1(输入查询内容1)和sle2(
44、输入查询内容2)。主要用于用户输入查询的内容,并按此内容查询。命令按钮:cb1(查询)、cb2(退出)和cb3(打印)。返回本节返回本节录录7.4 高级窗口控件应用实例高级窗口控件应用实例 3.编写Open事件和各个窗口控件的脚(1)Open事件的脚本(2)ddlb6(选择查询方式)下拉列表框的SelectionChanged事件的脚本(3)cb1(查询)按钮的Clicked事件的脚本 返回本节返回本节录录小 结 本章重点介绍下拉列表、下拉图片列表、图片、图片超链接、统计图、富文本、OLE控件以及数据窗口控件。各控件都有自己的属性和事件,有的还有专门的函数。通过各控件属性的设置、函数的调用及在控件的事件中编写脚本,实现用户操作的响应以及完成用户的不同需求。返回章目录返回章目录
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。