文档库 最新最全的文档下载
当前位置:文档库 › 第44章emWin(ucgui)FrameWin-框架窗口控件

第44章emWin(ucgui)FrameWin-框架窗口控件

第44章emWin(ucgui)FrameWin-框架窗口控件
第44章emWin(ucgui)FrameWin-框架窗口控件

用Dreamweaver建立框架页面

实验8 用Dreamweaver建立框架页面 实验目的:通过实验,掌握如何如何创建和应用框架页面,了解框架的基本分布结构和各个框架页面之间的相互联系。 实验步骤: 1. 启动Dreamweaver程序,选择菜单“文件”“新建”命令,打开“新建文档”对话框。在对话框中“常规”标签下选择“类别”列表中的“框架集”选项,然后再右边的“框架集”列表中选择“上方固定”选项,如图8-1所示。单击“创建”按钮创建框架网页。 2. 选择菜单“窗口”“框架”命令,打开框架控制面板。 3. 用鼠标单击框架控制面板中的下部分,选中mainFrame框架。如图8-2所示: 图8-1 套用框架图11-2 选择框架集的子框架 4. 将鼠标放在选中的边框上,使鼠标变成双向箭头,然后拖动鼠标将该框架分成左右两个子框架。如图8-3所示。

图8-3 把主框架切分为子框架 5. 在框架编辑窗口中,单击顶部框架,选择菜单“文件”→“保存框架”命令,保存框架为页面。 6. 将光标停放到下部分框架的左边框家中,选择菜单“文件”→“保存框架”命令,保存框架为页面。 7. 按同样的方法,将右边的框架保存为页面。 8. 单击框架面板上最外层的边框,或单击页面编辑窗口中的最外层边框,使外框出现虚线。如图8-4所示: 图8-4选中整个框架

说明鼠标单击所选中的框架, 页面中的框架边框会出现虚线,所选 中的框架就是当前正在编辑的页面. 9. 选择菜单“文件”—>“保存 全部”命令,保存所有框架和框架集, 框架集文件名称为.如图8-5所示. 10. 单击框架面板上的topFrame框架,选中网页. 11. 打开属性面板,在属性面板上的“滚动”下拉菜单中选择“否”, 然后勾选旁边的“不能调整大小”复选框;在“边界宽度”和“边界高度”的文本框中都输入0,参数设置如图8-6所示. 图8-6 top框架的属性设置 说明框架属性面板上的“滚动”下拉菜单中有“是”.“否”.“自动”.和“默认”四项,其中选择“是”表示允许页面左右.上下出现滚动条;选择“自动”.“默认”表示根据网页内容,需要时自动显示滚动条;选择“否”表示不允许出现滚动条. 12. 单击top框架页面,在属性面板中单击“页面属性”按钮。 13. 打开“页面属性”对话框,在“左边框.右边框.上边框.下边框”各文本框中输入0,使网页边距都为0.单击“确定”返回框架页编辑窗口. 14. 单击“插入”面板上的“表格”按钮,插入2行4列,宽为100%的表格. 15. 打开属性面板,设置第2列两个表格背景颜色为“浅蓝色”(色标值为#E0E4F4),然后选择第4列单元格,设置同样的背景颜色;设置第3列单元格的背景颜色为“深蓝色”(色标值为#3A4593)

pb数据窗口常用代码

一、连接数据库 连接数据库也就是指定事务对象。PowerBuilder提供了两个函数:SetTrans()和SetTransObject()。 语法格式: dw_control.SetTrans(TransactionObject) dw_control.SetTransObject(TransactionObject) 其中,dw_control是所使用的数据窗口控件,transactionObject是所要指定的事务对象。 这两个函数有一个重要的区别就是在使用SetTrans()函数时,用户不需做任何数据初始化或事务对象初始化工作。用户只需要在这里填充一个事务对象,PB 就会自动完成对该事物对象的初始化以及和数据库连接的工作。而使用SetTransObject()函数时,用户必须首先把所用的事务对象连接到数据库上。但是,这并不意味着SetTrans()函数比SetTransObject()函数更好,使用SetTrans()函数时,每调用一次函数必须连接一次数据库,因为这个函数在每个事务处理的末端都会执行Disconnect语句。与此相反,使用SetTransObject()函数可以为数据库维持一个开放性的连接。因此在一般情况下,为了提高效率,总是采用SetTransObject()函数。 这两个函数都是成功时返回1,发生错误时返回-1。 二、检索数据 用于检索数据的函数只有一个,就是Retrieve()函数。 语法格式: dw_control.Retrieve() 如果数据窗口控件上的数据窗口对象是有检索参数的,就要在这个函数调用时加上检索参数。而且检索参数必须和数据窗口对象中定义顺序一致。 此函数返回一个长整型的数据,代表检索出来的数据行数。如果发生错误,将返回-1。 三、更新数据 当用户对数据窗口对象内的数据修改后,想把这些修改反映到数据库中去时,必须使用Update()函数。 语法格式: dw_control.Update() 这个更新可能成功,也可能失败。一般在这个函数被调用之后,总是要做一个检查。请看下面的例子: Int li_return

VB常用控件习题与解答

常用控件习题与解答 一、填空题 1.在图片框上放置的控件称为图片框的(子)对象,而窗体是图片框的(父)对象。 2.窗体的“名称”(Name)属性只能在(属性窗口中)设置。 3.在程序中设置窗体Form1的Caption属性为"主窗体",使用的赋值语句是(Form1.Caption="主窗体")。 4.当窗体的Enabled属性为(True)时,指定窗体响应事件。 5.窗体的Unload事件是在QueryUnload事件发生之(后)发生。 6.程序中,把当前窗体移动到屏幕左上角使用的方法为(Move0,0)。 7.在窗体Form1中坐标为(1600,800)的位置上输出字符串“Visual Basic 6.0”使用的语句为(Form1.Currrentx=1600)、(Form1.Currenty=800)、和(Form1.Print "VisualBasic6.0")。 8.若使文本框有边框,需设置BorderStyle属性的值为(1)。 9.在程序运行期间,用户可以用文本框显示信息。文本框接收输入的内容的属性是 (Text)。 10.若使文本框内能够接受多行文本,则要设置Multiline属性的值为(True)。 11.要把图形文件“C:\sample\diannt.jpg”装载到图片框Picture1上,使用的语句为(Picturel.Picture=LoadPicture("C:\sample\diannt.jpg"))。 12.若使图片框自动调整大小以适应装入的图形,则要设置Autosize属性的值为(True)。 13.除了在程序使用LoadPicture函数装载图形外,还可以在设计阶段通过修改(Picture)属性装载图形。 14.若程序中要把一些文本内容输出到图片框PictureBox,应使用(Print)方法。 15.当单选按钮OpdonButton的Value属性为(False)时,表示该单选按钮处于未选中状态。 16.若使命令按钮Command1重新生效,则使用的赋值语句为(Command1.Enabled=True)。 17.若使命令按钮不能接收和响应任何事件,可以设置Visible属性的值为(False)。 18.只有控件对象的Enabled和Visible属性值都为(True)时,该控件对象才能接受焦点。 19.Tab顺序是由建立控件时的(先后顺序)确定的。 20.设置框架Frame上的文本内容需要使用(Caption)属性。 21.在框架上可以设置一组相关控件,这些控件作为框架的(子)控件,它们具有总体的激活/屏蔽特性。 22.若屏蔽框架上的控件对象,则需设置(Enabled)属性的值为False。 23.列表框ListBox中项目的序号从(0)开始,到(Listcount-1)结束。 24.要显示列表框List1中序号为3项目内容,语句为(PrintList1.List(3))。

建立UI界面的框架

第六章情景一—B/S结构人事管理系统的 UI实现 本章主要讲解如何使用Dreamweaver CS5中的框架、框架集、表单以及spry等组件。通过制作B/S结构人事管理系统的UI界面来组织本章内容,使用四个任务驱动教学内容,具体涉及以下内容: ?建立UI界面的框架 ?制作系统的功能界面 ?制作目录页面 ?链接页面 6.1 任务一:建立UI界面的框架 使用框架技术可以将浏览器页面分割成若干个子窗口,每个子窗口内都显示出一个独立的网页,我们称这样的每个子窗口为一个单个框架(Frame)。当一个页面被划分为若干个单个框架时,我们称这些单个框架组成了一个框架集(Frameset)。此时Dreamweaver会为框架集建立一个框架集文件,为每个框架分别建立一个文档文件。 6.1.1 知识要点 1.创建框架 (1)插入预定义框架集 Dreamweaver为我们提供了13中预定义的框架集供我们选择。使用系统提供的预定义框架集是迅速创建基于框架布局的网页的最简单方法。创建预定义框架集的具体步骤如下。 ?选择“文件”菜单,单击“新建”选项,在弹出的对话框中选择“实例中的页”选项卡,单击右侧“框架页”选项,从右侧“示例页”下方选项中选择“上方固定,左侧嵌套”的框架集,如图6-1-1所示。 ?单击右下角“创建”按钮,在“框架标签辅助功能”窗口中我们可以为每个框架完成相应操作,如图6-1-2所示。然后点击“确定”,如图6-1-3所示。

图6-1-1 “新建文档”对话框 图6-1-2 “框架标签”对话框 图6-1-3 预定义框架 (2)修改框架集结构 我们已经完成了基本的框架集的建立,如果我们想要做出更为复杂的框架集结构就需要修改框架集结构,具体步骤如下。 ?光标停留在要修改的框架集的空白位置,点击“修改”菜单,选择“框架集”选项,在弹出的子菜单中共有四项命令,如图6-1-4所示。 ?读者可以试着选择任意一种,用鼠标调整框架窗口的大小。灵活的使用修改框架集命令,可以使我们的页面布局更加丰富多变,更符合我们用户不同种类的需求。 图6-1-4 修改框架集 2.保存框架和框架文件 当我们完成了框架集的设置之后,我们可以选择“文件”菜单中的“保存全部”来对文件进行保存。执行该命令后,将保存框架集中的所有文档,包括框架集文件和所有框架中调用的文档。 保存时Dreamweaver会先保存框架集文件,我们可以自己设定框架集的名字,单击“保存”按钮即可保存。然后Dreamweaver会对每个框架中的文档进行保存。要注意,保存时当前即将被保存的框架会被以粗框着重显示,如图6-1-5所示。 图6-1-5 保存框架集 3.设置框架和框架集属性 当我们选中框架(框架集)时,在文档窗口的下方会出现框架(框架集)的属性面板,属性面板的具体参数如下。 (1)框架属性面板如图6-1-6所示 图6-1-6 框架属性面板 ?框架名称:作为链接指向时所用的名称。 ?源文件:本框架内默认显示的源文件的路径,确定了本框架的源文档。 ?边框:用来设置当前框架的边框。 ?滚动:用来设置当框架内的内容在本框架中显示不下时是否是用滚动条。 ?不能调节大小:当点选了本单选框时,访问者无法通过拖动框架边框在浏览器中调节框架的大小。

PowerBuilder数据窗口技巧

PB数据窗口技巧 1 使DataWindow列只能追加不能修改 如何使DataWindow中的数据只能追加新记录而不能修改,利用Column 的Protect 属性可以很方便的做到这一点,方法如下: 将每一列的Protect 属性设置为: If( IsRowNew(), 0, 1) ) 在PowerScript 中可以动态修改Protect 属性: dw_1.Modify("column_name_here.Protect='1~tIf(IsRowNew(),0,1)'") 这样,DataWindow 中只有新追加的记录可修改,而其他记录是只读的。 2 如何在DataWindow中实现列的自动折行 我们在PowerBuilder应用程序的开发过程中, 使用DataWindow时, 经常会遇 到某列的数据太长, 不能同时全部显示的情况. 若采用自动水平滚动, 操作起 来又不够简便. 下面介绍一种方法, 实现列数据多行显示, 即实现列数据的自 动折行.具体步骤如下: 1) 在DataWindow Painter中打开此DataWindow. 2) 在需设定自动折行的列上双击鼠标, 弹开此列的属性窗口. 3) 选择Position标签, 选中Autosize Height 多选框. 4) 选择Edit标签, 不选中Auto Horz Scroll多选框. 5) 单击OK按钮, 保存所做的修改. 6) 点中Detail Band (即写有Detail的灰色长带), 单击鼠标右键, 选择 Properties... 菜单项. 7) 选中Autosize Height多选框. 8) 单击OK按钮, 保存所做的修改. 9) 保存此DataWindow. 注意: 连在一起的汉字(中间没有标点或空格分隔), 系统将认为是一个单词, 不 会自动进行折行.

数据窗口事件处理技术

10.6 数据窗口事件处理技术 在PowerBuilder中,事件有两种,一种是PowerBuilder在语句描绘器中为每一个标准控件设定的一些常用事件,一般的编程人员基于这些事件就可以完成常见的操作。但是有些情况下,这些事件并不能完全满足应用程序的要求,这时,就需要使用另一种事件——自定义的用户事件。 一般的用户定义事件是与Windows消息对应的事件,这种事件是在应用程序接收到Windows消息后触发的,另外一种用户定义事件则是没有对应的事件,这类事件要由用户在程序代码中触发。 但是,数据窗口控件的自定义消息又有所不同。因为数据窗口不是标准窗口对象,因此它们所提供的消息不是标准的Windows API消息,这些消息有自己的事件。 前面10.2.2节已经对数据窗口控件的常用事件做了总结,对于用户自定义事件,如果是在代码中触发事件,使用起来也比较容易。只要在代码中适当的位置使用triggerevent函数就可以了。因此本节主要讲述如何使用由PowerBuilder数据窗口所提供的消息触发用户自定义事件。 10.6.1 数据窗口消息的含义 PowerBuilder为数据窗口提供了23种消息,为便于读者参考,下面列出了各消息的名称和功能: ● PBm_dwclosedropdown:关闭下拉式数据窗口。

● PBm_dwscrollend:在数据窗口中卷滚到最后一行。 ● PBm_dwscrdlhome:在数据窗口中卷滚到第一行。 ● PBm_dwscrolllineend:卷滚到当前行的行尾(水平方向)。 ● PBm_dwscrolllinehome:卷滚到当前行的行首(水平方向)。 ● PBm_dwnbacktabout:即将通过Shift+Tab组合键离开该控件。 ● PBm_d wnchanging:控件即将被改变。 ● PBm_dwndropdown:下拉列表框的下拉部分即将可见。 ● PBm_dwngraphcreate:即将创建图形。 ● PBm_dwnitemchangefocus:数据窗口控件中当前项的聚焦改变。 ● PBm_dwnitemvalidationerror:对当前项的修改引起了一个合法性检查错误。 ● PBm_dwnkey:有键被按下。使用KeyDown()处理键盘值。 ● PBm_dwnlbuttondown:鼠标左键被按下。 ● PBm_d wnlbuttonup:鼠标左键被松开。 ● PBm_dwnmbuttonclk:鼠标中键单击。 ● PBm_dwnmbuttondbclk:鼠标中键双击。 ● PBm_dwnmousemove:鼠标移动。 ● PBm_dwnprintmarginchange:打印边界被改变。 ● PBm_dwnprocessenter:Enter键被按下。 ● PBm_dwnrowchange:数据窗口中的聚焦从一行转向另一行。 ● PBm_dwntabdownout:用户在数据窗口的最后一行按下了下箭头键。

pb数据窗口技巧38个 收藏

pb数据窗口技巧38个收藏 1 使DataWindow列只能追加不能修改 如何使DataWindow中的数据只能追加新记录而不能修改,利用Column 的Protect 属性可以很方便的做到这一点,方法如下:将每一列的Protect 属性设置为: If( IsRowNew(), 0, 1) ) 在PowerScript 中可以动态修改Protect 属性: dw_1.Modify("column_name_here.Protect='1~tIf(IsRowNew(),0,1)'") 这样,DataWindow 中只有新追加的记录可修改,而其他记录是只读的。 2 如何在DataWindow中实现列的自动折行 我们在PowerBuilder应用程序的开发过程中, 使用DataWindow时, 经常会遇 到某列的数据太长, 不能同时全部显示的情况. 若采用自动水平滚动, 操作起 来又不够简便. 下面介绍一种方法, 实现列数据多行显示, 即实现列数据的自 动折行.具体步骤如下: 1) 在DataWindow Painter中打开此DataWindow. 2) 在需设定自动折行的列上双击鼠标, 弹开此列的属性窗口. 3) 选择Position标签, 选中Autosize Height 多选框. 4) 选择Edit标签, 不选中Auto Horz Scroll多选框. 5) 单击OK按钮, 保存所做的修改. 6) 点中Detail Band (即写有Detail的灰色长带), 单击鼠标右键, 选择 Properties... 菜单项. 7) 选中Autosize Height多选框. 8) 单击OK按钮, 保存所做的修改.

第九章 多视窗口框架

第九章多视窗口框架 9-1 框架的含义和基本构成 框架就是把一个浏览器窗口划分为若干个小窗口,每个窗口可以显示不同的URL 网页。使用框架可以非常方便的在浏览器中同时浏览不同的页面效果,也可以非常方便的完成导航工作。 而所有的框架标记要放在一个html 文档中。html页面的文档体标签被框架集标签所取代,然后通过的子窗口标签定义每一个子窗口和子窗口的页面属性。 语法格式: ...... Frame子框架的src属性的每个URL值指定了一个html文件(这个文件必须事先做好)地址,地址路径可使用绝对路径或相对路径,这个文件将载入相应的窗口中。 框架结构可以根据框架集标签的分割属性分为3种: 1.左右分割窗口 2.上下分割窗口 3.嵌套分割窗口 9-2 框架集控制 的属性 1.左右分割窗口属性:cols 如果想要在水平方向将浏览器分割多个窗口,这需要使用到框架集的左右分割窗口属性cols.分割几个窗口其cols的值就有几个,值的定义为宽度,可以是数字(单位为像素),也可以是百分比和剩余值。各值之间用逗号分开。其中剩余值用"*"号表示,剩余值表示所有窗口设定之后的剩余部分,当"*"只出现一次时,表示该子窗口的大小将根据浏览器窗口的大小自动调整,当"*"出现一次以上时,表示按比例分割剩余的窗口空间。cols的默认值为一个窗口

PB 数据窗口高级( DataWindow)应用37个技巧

PB 数据窗口高级( DataWindow) 37个技巧 1. 使DataWindow列只能追加不能修改 如何使DataWindow中的数据只能追加新记录而不能修改,利用Column 的Protect 属性可以很方便的做到这一点,方法如下: 将每一列的Protect 属性设置为: If( IsRowNew(), 0, 1) ) 在PowerScript 中可以动态修改Protect 属性: dw_1.Modify("column_name_here.Protect='1~tIf(IsRowNew(),0,1)'") 这样,DataWindow 中只有新追加的记录可修改,而其他记录是只读的。 2 .如何在DataWindow中实现列的自动折行 我们在PowerBuilder应用程序的开发过程中, 使用DataWindow时, 经常会遇 到某列的数据太长, 不能同时全部显示的情况. 若采用自动水平滚动, 操作起 来又不够简便. 下面介绍一种方法, 实现列数据多行显示, 即实现列数据的自 动折行.具体步骤如下: 1) 在DataWindow Painter中打开此DataWindow.

2) 在需设定自动折行的列上双击鼠标, 弹开此列的属性窗口. 3) 选择Position标签, 选中Autosize Height 多选框. 4) 选择Edit标签, 不选中Auto Horz Scroll多选框. 5) 单击OK按钮, 保存所做的修改. 6) 点中Detail Band (即写有Detail的灰色长带), 单击鼠标右键, 选择Properties... 菜单项. 7) 选中Autosize Height多选框. 8) 单击OK按钮, 保存所做的修改. 9) 保存此DataWindow. 注意: 连在一起的汉字(中间没有标点或空格分隔), 系统将认为是一个单词, 不 会自动进行折行. 3. 在数据窗口中实现动画 要实现动画,必须要有定时器,在数据窗口中已经有了一个定时器,双击数据窗口将弹出的对话框,在Timer Interval中定义大于零的值就有定时器(可以精确到毫秒),有了这个定时器就可以实现动画了。比如要改变某字段的背景颜色,可设 ackgound.color=RGB(Integer(Right(string(now(),'hhmmssf'),1))*256/10,In teger(Right(string(now(),'hhmmssf'),1))*256/10,0) 当然,您不仅可以改变背景颜色,而且可以改变字体等等任何属

PB数据窗口使用绝对技巧与方法

原文地址:PB数据窗口绝对技巧作者:千人急 1、如何让存储文件目录的列,显示图片? 答:选择对应的column的display as picture属性为true 2、如何复制grid类型的所选择的行的数据到系统剪切板? 答:string ls_selected ls_selected=dw_1.Object.DataWindow.Selected.Data clipbord(ls_selected) 4、如何设置的DW底色? 在DW的editsource中改变color的值 5、如何将Grid风格改成自由格式? 在DW的editsource中将processing=1的1改为0 6、要新建一个表A但风格和现有表格B风格一样,怎么将A表快速设置成表B 风格? 复制B表C,在C表的DW中的editsource中将表名和字段名改成A表的,即可 7、如何实现gird风格的datawindow的多栏表头? 答:添加 text到header带区,并设置band属性为foreground保存,edit source 修改text的x和width属性表达式如下: x="100~t integer(describe('firstcol.x')" width="100~tinteger(describe('lastcol.x')) - integer(describe('firstcol.x')) +integer(describe('lastcol.width')) 8、如何过滤dddw编辑风格的显示值为指定值的记录? 答: dw_1.setfilter("lookupdisplay('column_name')='"+ls_display_value_your +"'") dw_1.filter() 9、如何设置datawindow的某一列为空?

第十六讲 数据窗口的显示风格

数据窗口的魔力之一就在于它能够以多种多样的显示风格(Presentationstyle)展现数据、表现数据。 16.1数据窗口的显示风格 列表(Tabular)风格 常用于数据输入,有时也用于生成报表。 表格风格 既可用于数据输入,又能作为报表输出。 自由格式(Freeform) 自由格式的数据窗口一屏显示一条记录,常用于单记录输入。 标签(Label)风格 标签风格的数据窗口以标签形式显示每行数据,用它可以制作各种标签。 分栏(N-Up)风格 分栏风格能够在一行中显示多条记录。 分组(Group)风格 在这种风格下,数据被分成一个一个的组,组中可以带有统计数据。 交叉列表(Crosstab)风格 交叉列表风格支持按行和/或按列分析数据。 统计图(Graph)风格 统计图风格的数据窗口以统计图的形式表现数据。 OLE 2.0风格 OLE 2.0风格的数据窗口既能够显示非数据库数据(比如Word文档),也能够显示数据库中的BLOB(二进制大对象)列。 超文本(RichText)风格 超文本风格的数据窗口能够处理超文本数据,它可以利用Windows系统的字体、字型、颜色等属性以丰富多采的形式显示与编辑超文本,并且能够将数据库中的数据插入到超文本文档中。 复合(Composite)风格 复合风格的数据窗口没有自己的数据源,它通过特殊方式将其它数据窗口对象组合起来,从而创建形式更复杂的数据窗口。 16.2数据窗口的布局结构 页眉区(Header) 页眉区主要用来放置每页或每屏顶部显示的信息。 组标题区(Group Header) 在组标题区通常放置每组数据前出现的信息。 细目区(Detail) 细目区主要用于显示查询到的数据,数据窗口会根据窗口或报表页的大小尽可能多地安排细目区。 组尾区(Group Trailer) 该区中通常放置每组数据的统计与汇总信息。每个分组只有一个组尾区。 汇总区(Summary)

PB数据窗口绝对技巧

PB数据窗口绝对技巧 1、如何让存储文件目录的列,显示图片? 选择对应的column的display as picture属性为true。 2、如何复制grid类型的所选择的行的数据到系统剪切板? string ls_selected ls_selected=dw_1.Object.DataWindow.Selected.Data clipbord(ls_selected) 3:如何改变GRID数据窗口列位置(新手常见) 先preview,然后在预览窗口拖动位置即可。 4、如何设置DW的底色? 在DW的editsource中改变color的值。 5、如何将Grid风格改成自由格式? 在DW的editsource中将processing=1的1改为0。 6、要新建一个表A但风格和现有表B风格一样,怎么将A表快速设置成表B风格? 复制B表C,在C表的DW中的editsource中将表名和字段名改成A表的,即可。 7、如何实现gird风格的datawindow的多栏表头? 添加text到header带区,并设置band属性为foreground保存,edit source修改tex t的x和width属性表达式如下: x="100~t integer(describe('firstcol.x')" width="100~tinteger(describe('lastcol.x')) - int eger(describe('firstcol.x')) +integer(describe('lastcol.width')) 8、如何过滤dddw编辑风格的显示值为指定值的记录? dw_1.setfilter("lookupdisplay('column_name')='"+ls_display_value_your+"'") dw_1.filter() 9、如何设置datawindow的某一列为空? string ls_temp[] setnull(ls_temp) dw_1.object.columnname.primary.current=ls_temp 10、如何设置datawindow的单双行不同颜色间隔? 在detail带区的color属性表达式中写上if(mod (getrow(),2)=1 ,rgb(255,0,0),rgb(0,25 5,0)),如果是当前行以第三种颜色表示,表达式如下:if(getrow()=current(), rgb(255,0,0),if(m od(getrow(),2)=1 ,rgb(0,0,255),rgb(0,255,0))) 11、如何获取指定名称的datawindowobject? DWObject ldwo_use,ldwo_abc ldwo_use = dw_1.Object ldwo_abc = ldwo_use._ _get_attribute("t_1",FALSE)//t_1为datawindow中text对象的名称 12、如何缩放datawindow的打印大小?

PB动态数据窗口

[PB]-动态数据窗口 〓创建动态数据窗口 若要动态创建数据窗口,需要使用函数Create,该函数的语法如下: dw_1.Create(syntax{,errorbuffer}) 其中,dw_1是数据窗口控件的名称,该数据窗口控件要和新创建的数据窗口对象相关联。syntax是用来描述创建数据窗口对象的确切语法的字符串。errorburrer是可选项,用来保存创建数据窗口对象过程中发生的错误信息。如果不指定该参数,就会在发生错误时显示一个错误信息的提示窗口。如果创建成功该函数返回1,否则返回-1,如果参数为null则函数返回null。 由于Create函数成功创建数据窗口对象后,要改变dw_1数据窗口控件所关联的数据窗口对象,因此,需要重新为数据窗口设置事务对象(使用函数SetTransObject或者SetTrans)。 获取创建数据窗口的语法有多种方法,可以对相关的SQL语句使用SyntaxFromSQL函数,也可以使用对已经创建好的数据窗口对象使用LibraryExport函数。因为创建数据窗口的语法比较复杂,即使使用了LibraryExport输出已有数据窗口对象的语法,操作起来也相当费劲。所以,更为通用的是前面一种方法。这种方法配合一定的编程技巧,让用户指定要创建的数据窗口对象的SQL语句,使用户有更多的自由和选择。使用这种方法,肯定用到函数 SyntaxFromSQL,它的语法是: transaction.SyntaxFromSQL(SQLselect,presetation,err) 其中,transaction是事务对象的名称,该事务对象必须正确地设置了相关参数,并且和数据库建立了联结。SQLselect是用来创建数据窗口的SQL语句,为String 类型。presentation是要创建的数据窗口对象的显示风格,为String类型。简单的格式是: Style(Type=presentationstyle) 其中Style和Type都是保留字,presentationstyle的取值有Tabular,Grid,Form,Graph,Group,Label和Nup,其中Tabular是缺省类型。err是用来保存函数执行时出错信息的string类型的变量。 *关于函数SyntaxFromSQL的参数presentation可以有更复杂的语法。其格式是:"Style ( Type=value property=value ... ) DataWindow ( property=value ... ) Column ( property=value ... ) Group groupby_colnum1 Fby_colnum2 ... property ... ) Text property=value ... ) Title ( 'titlestring' )" 使用这样的格式,可以详细定义要创建的数据窗口对象的外观。 〓在很多情况下都需要一个数据窗口控件和不同的数据窗口对象关联。可以通过修改数据窗口控件的dataobject属性来实现。在修改了这一特性之后,数据窗口控件就不再具有与它相关的事务处理对象了,应该再重新为数据窗口设置事务

PB中协调多数据窗口数据操纵的一种解决方法

PB中协调多数据窗口数据操纵的一种解决方法 1、问题的提出 数据窗口是PB中检索、表现和操纵数据的对象。如果一个数据表的列不多,用单数据窗口操纵数据很易实现,但在实际应用中,数据表的列数动辄几十,甚至上百也并不少见,这时用单数据窗口滚动显然不方便,一个自然的想法是采用TAB控件和TAB页,在每个TAB页上放置一个数据窗口控件,每个数据窗口控件分门别类操纵数据表的列,但随之而来的问题是如何协调分布在这些数据窗口中录入或修改数据的存储,针对每个数据窗口发布一个UPDATE()函数的调用不可行。我们在实际开发中经过探索,增加一个后台的数据窗口做中介,解决了多数据窗口操纵数据的问题。 2、协调多数据窗口数据操纵的一种解决方法 基本思路是:在进行数据操纵的数据窗口控件之外,另外放置一个数据窗口控件,设置其不可见,并设其数据窗口对象为一个选择了数据表中所有列的数据窗口,其他数据窗口控件中录入或修改的数据实时地传送过来,对该控件的数据进行更新操作即可。 不失一般性,下面以PB自带数据库psDemoDB.db中的customer表的数据录入为例来说明。Customer表有"id","fname","lname","address","city","state","zip","phone","company"九个列,其中"id"为integer类型,其余均为char类型。 (1)创建数据窗口 建立三个数据窗口d_1、d_2、d_3,数据窗口d_1选"id","fname","lname"三列,d_2中选"address","city","state"三列,d_3选"zip",""phone","company_name"三列。再建立数据窗口d_4,选中数据表中的所有列。 (2)建TAB控件和TAB页 建立一个TAB控件tab_1,建立三个TAB页tabpage_1、tabpage_2、tabpage_3。 (3)建数据窗口控件 在(2)中建的三个TAB页中分别放置dw_1、dw_2、dw_3三个数据窗口控件,设其数据窗口对象分别为d_1、d_2、d_3。 另外,在窗口中放置一个数据窗口控件dw_4,不选其"visible"属性. (4)编写代码 在tabb1.tab_page_1.dw_1的editchanged事件中编写代码如下: //代码由此开始 //设置变量,id_value存放数据表中id列的值 int i_m,i_n,id_value string str_fname,str_lname //取dw_1当前的行数 i_m=tab_1.tabpage_1.dw_1.getrow() //取dw_4当前的行数 i_n=dw_4.getrow() //tab_1.tabpage_1.dw_1及dw_4接收浮在数据窗口控件表面的数据 tab_1.tabpage_1.dw_1.accepttext() dw_4.accepttext()

pb数据窗口技巧

pb中datawindow常用技巧一 (2009-04-16 17:09:07) 转载▼ 分类:PowerBuilder 标签: 杂谈 pb中datawindow常用技巧一 1、如何让存储文件目录的列,显示图片? 答:选择对应的column的display as picture属性为true 2、如何复制grid类型的所选择的行的数据到系统剪切板? 答:string ls_selected ls_selected=dw_1.Object.DataWindow.Selected.Data clipbord(ls_selected) 4、如何设置的DW底色? 在DW的editsource中改变color的值 5、如何将Grid风格改成自由格式? 在DW的editsource中将processing=1的1改为0 6、要新建一个表A但风格和现有表格B风格一样,怎么将A表快速设置成表B风格? 复制B表C,在C表的DW中的editsource中将表名和字段名改成A表的,即可 7、如何实现gird风格的datawindow的多栏表头? 答:添加text到header带区,并设置band属性为foreground保存,edit source 修改text的x和width属性表达式如下:

x="100~t integer(describe('firstcol.x')" width="100~tinteger(describe('lastcol.x')) - integer(describe('firstcol.x')) +integer(describe('lastcol.width')) 8、如何过滤dddw编辑风格的显示值为指定值的记录? 答:dw_1.setfilter("lookupdisplay('column_name')='"+ls_display_value_your+"'") dw_1.filter() 9、如何设置datawindow的某一列为空? 答:string ls_temp[] setnull(ls_temp) dw_1.object.columnname.primary.current=ls_temp 10、如何设置datawindow的单双行不同颜色间隔? 答:在detail带区的color属性表达式中写上if(mod (getrow(),2)=1 ,rgb(255,0,0),rgb(0,255,0)),如果是当前行以第三种颜色表示,表达式如下:if(getrow()=current(), rgb(255,0,0),if(mod(getrow(),2)=1 ,rgb(0,0,255),rgb(0,255,0))) 11、如何获取指定名称的datawindowobject? 答:DWObject ldwo_use,ldwo_abc ldwo_use = dw_1.Object ldwo_abc = ldwo_use.__get_attribute("t_1",FALSE)//t_1为datawindow中text对象的名称12、如何缩放datawindow的打印大小? 答:dw_1.object.datawindow.zoom=150 or dw_1.object.datawindow.zoom=75 13、如何在已过滤后的数据基础上对datawindow进行过滤? 答: dw_1.setfilter(dw_1.describe("datawindow.table.filter")+your_join+your_new_filt er) dw_1.filter()

PB]-子数据窗口操作

PB]-子数据窗口操作 PB]-子数据窗口 **通常的子数据窗口也就是下拉数据窗口。子数据窗口也是普通的数据窗口对象,没有什么特殊的地方,它的创建方法、可以使用的控件、编程时可以使用的函数等,都和普通的数据窗口相同。特殊的地方只是因为它放在了父数据窗口中,需要和父窗口进行配合。 **当为数据窗口中某字段指定为下拉数据窗口编辑风格时,必须提供以下三个属性: a)子数据窗口名称。 b)显示字段名称:该字段中的内容显示在父数据窗口的字段上,只是显示。 c)数据字段名称:该字段中的内容要赋给父数据窗口的字段,要保存到数据库中。 分别对应数据窗口画板的Edit属性页中的:Eidt Style、Display Column、Data Column。 *子数据窗口不能再包含子数据窗口;父数据窗口可以对其包含的子数据窗口进行插入、删除、检索和保存等操作。 **获取子数据窗口的引用是进行其他操作的前提,使用函数GetChild来获取指定字段的子数据窗口。该函数的语法如下: dw_1.GetChild(name,dwchildvariable) 其中,dw_1.是数据窗口控件名称;name为字段名称,为string类型;dwchildvariable为datawindowchild 类型变量,该变量在函数正确执行后保存对子数据窗口的引用。该函数正确执行则返回1,否则返回-1。在获取了子数据窗口的引用之后,就可以捡索子数据窗口中的数据了。但是,检索子数据窗口的情况比较多,并且也有多种方法。 **保证子数据窗口中的数据更新 用户使用下拉数据窗口录入数据时,其中的数据并不一定有用户需要的。在某些情况下不允许用户再输入其他值,否则可能造成数据的不一致性,这时就可以不再编写其他的脚本。但在允许用户录入时,就需要把用户录入的数据保存在子数据窗口对应的数据表中,以便以后数据录入时不再重复输入该数据。这时就应该编写脚本保存该数据了。 **检索子数据窗口 在应用中,对子数据窗口的编程不是检索数据,就是更新其中的数据。检索数据时,如果只显示子数据窗口中同父数据窗口中某字段取值对应的数据,这时子数据窗口的定义就应该有检索参数。根据检索和更新数据这两个因素,可以将检索数据的情况划分成以下三种: a)没有条件限制,并且不允许更新。 b)没有条件限制,并且允许更新。 c)有条件限制,不管是否可以更新。

vb中常用控件及其功能

4.1 标签 标签是VB中最简单的控件,用于显示字符串,通常显示的是文字说明信息。但不能编辑标签控件。 使用标签的情况很多,通常用标签来标注本身不具有Caption属性的控件。例如,可用标签为文本框、列表框、组合框等控件来添加描述性的标签。还可编写代码改变标签控件的显示文本以响应运行时的事件。例如,若应用程序需要用几分钟处理某个操作,则可用标签显示处理情况的信息。 4.1.1 常用属性 标签的属性很多,下面介绍几个常用的属性。 (1)Alignment属性 设置标签中文本的对齐方式。其使用语法如下: Object.Alignment[=值] 其中的“值”可以为0,1或2。0(默认值)表示左对齐;1表示右对齐;2表示居中。 (2)AutoSize属性 设置控件是否能够自动调整大小以显示所有的内容。其使用语法如下: Object.AutoSize[=True或False] (3)BackStyle属性 设置标签的背景样式。其使用语法如下: Object.BackStyle[=值] 其中的“值”可以为0或1。1(默认值)表示是不透明的;0表示是透明的。 (4)BorderStyle属性 设置标签的边框样式。其使用语法如下: Object.BorderStyle[=值] 其中的“值”可以为0或1。0(默认值)表示无边框;1表示单线边框。 (5)Caption属性 设置标签的文本内容。其使用语法如下: Object.Caption[=字符串] (6)WordWrap属性 设置标签的文本在显示时是否自动折行功能。其使用语法如下: Object.WordWrap[=True或False] 其中True表示具有自动折行功能;False(默认值)表示没有自动折行功能。 4.1.2 常用事件和方法 一般很少使用标签事件,标签的方法中常用的只有Move,其基本语法如下: Move left,top,width,height 其中left,top,width,height分别表示移动目的位置的坐标和大小。left为必要参数,其他

相关文档