选择显示字体大小

利用pb动态创建数据窗口

利用powerbuilder建立数据窗口时,用户通常不能自己选择数据来源和显示类型。如何让用户在应用程序中自己定义数据窗口的数据来源和显示类型呢?为了达到这个目的,我们必须在运行程序阶段根据用户自己的需求,动态地建立一个数据窗口。

在建立动态数据窗口之前,必须先得到数据窗口对象的语法,pb中为我们提供了syntaxfromsql( )函数,利用这个函数可以得到建立数据窗口的语法。syntaxfromsql()函数的基本格式如下:

事物对象.syntaxfromsql(数据来源字符串,显示类型字符串,错误字符串)

下面是建立一个数据窗口对象语法的范例∶

// 声明变量

string ls_sql, ls_present,ls_err, ls_syntax

// 定义数据窗口的数据来源

ls_sql = "select emp_id from employee"

//定义数据窗口显示字符串

ls_present = "style(type=tabular)"

// 得到建立数据窗口对象语法

// 如果错误发生,syntaxfromsql 返回一个空字符串

ls_errls_syntax = sqlca.syntaxfromsql(ls_sql, ls_present , ls_err)

利用 syntaxfromsql( )所建立的数据窗口对象是在运行阶段才建立的对象,并不会自动保存在pb的对象数据库 library 中。为了以后可以重复使用这个数据窗口对象,可以利用 libraryimport( )函数保存数据窗口对象。

在利用 syntaxfromsql( )函数建立一个数据窗口语法后,必须将它与窗口上的数据窗口控件结合,这个数据窗口控件必须已经存在于窗口中 。要将数据窗口对象语法和一个已经存在的数据窗口控件结合,必须利用create( )函数,下面是范例程序∶

// 声明变量string ls_syntax ,ls_err

ls_errdw_1.create(ls_syntax, ls_err)

dw_1.settransobject(sqlca)

dw_1.retrieve( )

在上面程序中,ls_syntax是运行syntaxfromsql( )函数后所返回的字符串。除此之外,也可以利用libraryexport( )函数从pb对象数据库中得到已经存在于pbl中的数据窗口对象语法。因为create( )函数会破坏先前数据窗口与事物对象的结合,所以必须利用setransobject( )函数重新结合事物对象给新的数据窗口对象,最后再运行retrieve( )函数,从数据库中读取数据。

最后,我们需要利用sql 语句字符串,动态创建一个新的数据窗口对象到一个数据窗口控件当中。虽然,在运行阶段并不能直接在窗口上建立一个数据窗口控件,但却可以利用用户对象建立一个与窗口上一样的数据窗口控件,在运行阶段时再动态打开这个用户对象。下面是动态建立数据窗口控件的步骤∶

在用户对象画板内,建立一个标准数据窗口的用户类。

可以在这个控件中增加功能、程序、用户对象函数和用户自定义事件后,保存用户对象到对象数据库中。

利用 openuserobject( )函数建立一个数据窗口用户对象的复件,一般格式如下∶openuserobject(用户对象变量,{x坐标值,y坐标值})。下面是在窗口上鼠标点击的坐标位置建立一个用户对象 u_dw的范例∶ openuserobject(u_dw, pointerx( ),pointery( ))

以上是建立一个动态数据窗口的基本步骤,感兴趣的朋友不妨一试。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

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