首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

天极网 > 开发频道>PowerBuilder创建动态数据窗口综述

PowerBuilder创建动态数据窗口综述

2001-11-27 11:26作者:施建中出处:yesky责任编辑:方舟


  下面请见具体实例, 该实例在Win98、PowerBuilder8.0/PowerBuilder7.0/PowerBuilder6.5下通过,ODBC数据源已配置,为FoxPro25(可根据需要使用其他数据库),数据表为bb.dbf。请先建窗口w_main,在其Open事件中写入以下代码:(注意:PowerBuilder8.0中先须创建WorkSpace(*.pbw),其他操作基本同PowerBuilder7.0)

//动态数据窗口dw_1创建实例
string lserr,lsSQLstr,lsDWsyntax,lserrC
SQLCA.DBMS="ODBC"
SQLCA.DBParm="ConnectString='DSN=FoxPro25'" //本例使用FoxPro25数据库,可根据需要用其他数据库
Connect;
//下面3条语句即为关键,若dw_1为鼠标点建请删除这3条语句,否则会出错。
DataWindow dw_1 //若采用数据窗口用户对象u_d_sample,则可改为:u_d_sample dw_1
dw_1=Create DataWindow //若采用数据窗口用户对象u_d_sample,此句应去除。
OpenUserObject(dw_1)
//Select…As…的As可将列标题显示为As之后的字符,较为灵活方便。
//可根据实际情况设计生成Select语句及Where子句的可视化界面
lsSQLstr="Select A12 As 主管部门,A01 As 法人代码,mc As 企业名称,A06 From bb Where A12<'1'"
lsDwsyntax=SQLCA.SyntaxFromSQL(lsSQLstr,"style(type=Grid)",lserr) //构造SyntaxFromSQL()函数
If Len(lserr)>0 Then
//如果构造SyntaxFromSQL()函数失败,则显示错误信息并退出
messagebox("错误信息!",lserr)
Return
end if
dw_1.Create(lsDwsyntax,lserrC) //创建动态数据窗口dw_1
If Len(lserrC)>0 Then
//如果创建动态数据窗口dw_1失败,则显示错误信息并退出
messagebox("错误信息!",lserrC)
Return
end if
//以下设置dw_1的一些属性,可根据实际需要设置。
dw_1.X=5
dw_1.Y=5
dw_1.width=1500
dw_1.height=650
dw_1.Visible=True
dw_1.Enabled=True
dw_1.HScrollBar=True
dw_1.VScrollBar=True
//为dw_1分配事务对象SQLCA
dw_1.SetTransObject(SQLCA)
//提取数据
dw_1.Retrieve()

  第2种方法的优点大家一看即知,不必费劲去创建一个标准可视数据窗口用户对象,但存在不足之处:不能在窗口w_main的其他事件或控件中引用dw_1。解决方法很简单:将dw_1定义为实例变量(Instance Variable)。PowerBuilder6.0/6.5中:在窗口画笔(w_main)的菜单上点击Declareà Instance Variables…,在弹出窗口Declare Instance Variables中输入datawindow dw_1, 点击Ok按钮即告完成。PowerBuilder7.0/8.0中:打开窗口画笔,在其下半部的窗口Declare Instance Variables中输入datawindow dw_1, 点击工具栏上的Save图标即告完成。
共4页。 9 1 2 3 4 :

关注此文的读者还看过:

返回开发频道首页

软件频道最新更新

热点推荐

天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络