如何用代码建立datawindows

Dream_Star_Xing 2004-11-28 10:44:15
想尽快知道如何用代码建立datawindows,有谁可以帮我,新手上路!谢谢!
...全文
129 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
luotitan 2004-12-01
  • 打赏
  • 举报
回复
主要是了解第四种方法。
xlkxhf 2004-12-01
  • 打赏
  • 举报
回复
我记得pb的datawindow syntax 工具非常不错 ,
Dream_Star_Xing 2004-11-29
  • 打赏
  • 举报
回复
谢谢!
peixun 2004-11-29
  • 打赏
  • 举报
回复
up
peanut2008 2004-11-29
  • 打赏
  • 举报
回复
up
xiaowen1982 2004-11-29
  • 打赏
  • 举报
回复
ding
zhangdatou 2004-11-29
  • 打赏
  • 举报
回复
我也来学习~~~~
double22822 2004-11-28
  • 打赏
  • 举报
回复
虽然分少:但新手就应该帮:这是别人的资料:
第一种方法:

在程序中用Describe()函数得到某个已经存在的数据窗口对象的源代码。如:

string str_dwsyntax,str_lag
//获得数据窗口1的语法
str_dwsyntax=dw_1.object.datawindow.syntax
//根据数据窗口1的语法动态生成数据窗口2的语法
dw_2.create(str_dwsyntax)
//对数据窗口2的内容作局部修改
str_lag="stu_id_t.font.height='-12' stu_id_t.font.face='楷体_GB2312'"
//字体变12号字体,由宋体改为楷体
dw_2.modify(str_lag)
dw_2.settransobject(sqlca)
dw_2.retrieve()

第二种方法:

在程序中使用系统函数LibraryExport()得到某个已经存在的数据窗口对象的源代码。

第三种方法:

在PowerBuilder开发环境的库管理画笔(Library Painter)中使用移出功能(右键→Export)将某个数据窗口对象的语法保存到文本文件中。

第四种方法:

1、设计窗口时在窗口上设置一个数据窗口控件,该控件用于展示动态创建的数据窗口。

2、构造一条SELECT语句。

3、利用事务对象的对象函数SyntaxFromSQL()生成符合数据窗口对象语法的字符串。

4、使用数据窗口控件的对象函数Create()创建数据窗口。

例子:string str_err_sql,str_err_create,str_sql,str_syntax

str_sql="select emp_id,emp_data,emp_name from employee where emp_salary>750"
//生成SELECT语句对应的自由风格的数据窗口语法
str_syntax=SQLCA.SyntaxFromSQL(str_sql,'style(type=Form)',str_err_sql)
if len(str_err_sql)>0 then
messagebox("错误","取得SQL语法时出错")
return
else
dw_1.create(str_syntax,str_err_create)
if len(str_err_create)>0 then
messagebox("错误","创建数据窗口时出错!")
return
end if
end if
dw_1.settransobject(sqlca)
dw_1.retrieve()

[注]SyntaxFromSQL()函数

说明: 根据SQL SELECT语句生成数据窗口对象的源代码,通常用于创建动态数据窗口对象。
语法: transaction.SyntaxFromSQL(sqlselect,presentation,err )。
返回值: string,成功时返回生成的指定风格数据窗口对象的源代码,错误时返回空字符串,err参数可说明原因。
参数 类型及说明
transaction 事务对象名。
sqlselect string,其值为一条有效的SQL SELECT语句。
presentation string,指定数据窗口缺省的表现风格。
完整语法 Style(Type=value property=value ……) //数据窗口风格
Type
Tabular 缺省值,列表风格
Grid 列表风格
Form 自由格式
Crosstab 交叉列表
Graph 统计图风格
Group 分组风格
Label 标签风格
Nested 复合风格
Ole 2.0 Ole风格
RichText 超文本风格
DataWindow(Property=value ……) //数据窗口本身的属性
Column(Property=value ……) //列对象属性
Group(groupby_colnum1 by_colnum2 …… property ……) //分组特性
Text(property=value ……) //文本对象属性
Title('titlestring') //数据窗口的标题
err string,当生成数据窗口源代码发生错误时,该参数用于保存出错信息。

[注]Create()函数

说明: 使用指定的源代码创建数据窗口对象,并用新的数据窗口对象来取代旧的,但新的不会自动成为应用库的一部份。
语法: dwcontrol.Create( syntax {,errorbuffer})
返回值: integer,成功为1,错误为-1。
参数 类型及说明
dwcontrol 数据窗口控件名。
syntax 数据窗口源代码,Create()函数将使用该代码来创建数据窗口对象。
errorbuffer 可选,保存创建时的出错信息,若省略则系统将使用消息对话框显示出错信息。
用法 数据窗口对象源代码语法相当复杂,因此手工从头构造该语法几乎是不可能的,但也不用泄气,Powersoft提供了几个办法构造数据窗口对象的源代码。
1 程序中使用数据窗口控件的Describe()函数得到某个已经存在的数据窗口对象的源代码,再据此修改。
2 程序中使用系统函数LibraryExport()得到某个已经存在的数据窗口对象的源代码,再据此修改。
3 在PowerBuilder开发环境的库管理画笔(Library Painter)中使用移出功能(Export)将某个数据窗口对象的语法保存到文本文件中,再据此修改。
4 程序中使用事务对象函数SyntaxFromSQL(),该函数根据SQL语句创建数据窗口对象的源代码,再据此修改。
sywen 2004-11-28
  • 打赏
  • 举报
回复
把DATAWINDOW源代码倒出后可以自己分析。

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧