选择显示字体大小

powerbuilder的数据窗口

powerbuilder是powersoft公司(已被sybase收购)推出的基于客户机/服务器体系结构的强有力的开发工具,自问世以来深受开发人员的好评。datawindow是pb中获取专利技术的控件,它对数据的处理方法相当简洁,数据窗口能处理各种显示格式、进行报表打印,对复杂的嵌套报表同样处理自如。

数据窗口的处理机制首先是根据所需的显示方式将数据源表中的域设计好,在运行时将所要的数据从数据库服务器上下载到客户机上处理,然后将更改后的数据进行提交(commit)或回滚(rollback)。这种处理机制大大降低了数据的传输量,减轻了网络的负担,也提高了数据的处理速度。充分利用数据窗口的特点,可达到事半功倍的效果,但是如果有些问题不加注意就会出现意想不到的错误。

几个函数
1.accepttext()
accepttext()函数的功能是将数据窗口当前编辑的数据转移到数据窗口的缓冲区中。程序通常在关闭窗口及其他情况下判断是否改变了当前数据。如果已改变数据,应提示用户保存。这就杜绝了用户在偶然的情况下丢失更改数据的现象。一般用modifiedcount和deletedcount函数判断数据是否改变。

pb在处理数据窗口时,对应开辟了四个数据缓冲区,分别为primarybuffer、deletedbuffer、filterbuffer、sortbuffer,其中deletedbuffer存放被删除的记录,filterbuffer存放被过滤的记录,sortbuffer存放排序的记录,primarybuffer存放其他记录。函数modifiedcount从primaryandfilterbuffers中取数据进行判断,deletedcount则从deletedbuffer中取数据进行判断。

pb在接受用户输入时设置了一个浮动编辑框,用户输入或更改的内容并不直接进入primarybuffer,而是在用户输入完后进入下一个域时,pb首先对它进行有效性检测,通过后转入primarybuffer。如果只改变一项数据就关闭窗口则相关数据并没有进入primarybuffer,系统判断modifiedcount()为0,所以不会提示保存数据。用accepttext()函数就可以将浮动编辑框中的数据转入缓冲区中,在相应的程序段前加上accepttext(),问题就解决了。

2.findrequired()

在实际应用中经常需要限制表中一些域的属性,例如银行客户表中账号就不能为null。在提交数据前检查是否将必须输入的数据都赋值是一个很好的编程习惯。findrequired函数可以解决此问题,它通过对数据窗口中数据的检查,将数据窗口中域的属性为required,而并未赋值的域(包括相应的行、列)找出来。

为了利用此函数,在构造数据窗口时就要注意将表中具有notnull属性的数据列设为required(方法为:在数据窗口相应域上按鼠标右键或双击左键,弹出columnobject框,选edit页,将required前的框选中,按ok钮即可)。在相应事件中插入下列程序:

longror=1//行数赋1
integercolnbr=0//列数赋0
stringcolname//用来存储列名
mle_required.text=""
//窗口中的多行编辑控件,
用来存储找到域的行、列号
dowhilerow<>0
colnbr++//继续找下一列
ifdw_1.findrequired(primary!,row,colnbr,colname,false)
<0thenexit
//若程序出错则返回
ifrow<>0then
mle_required.text=mle_required.text+string(row)+
"~t"&+colname+"~r~n"//保存查出的行、列号
endif
//当row返回为0则意味再没有查出,跳出
循环
loop

程序执行完后,多行编辑框中显示的为出错的地方,用户根据提示可以轻易地更改。findrequired函数中的row、colnbr参数能自动增加或重置,colname用来存放列的字符名。

数据的突出显示及保护
程序运行中,用户希望显示的数据具有明显的区分,例如学生的成绩(不及格的分数要用红色显示),有些数据必须只能显示,不能让用户修改;还有些数据在有些时候可以修改,有些时候不能修改等。以上情况可归结为两点:
1.数据的突出显示

数据窗口应该能使用户很快找到他们想要的信息,以颜色区分既满足用户的习惯,又不占系统资源,实现起来也很简单。以学生管理为例,要求成绩低于60分的以红色显示,其他不变。方法是:在数据窗口中对应成绩的列(例如'/cj')上双击鼠标左键或单击鼠标右键,弹出columnobject对话框,选取expressions页,在color后的框中输入:


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons