PowerBuilder数据窗口edit source详解
"PB数据窗口edit source的详细解析与应用" PowerBuilder(PB)是一款强大的可视化开发工具,尤其在创建数据库应用程序方面表现出色。在PB中,数据窗口(DataWindow)是核心组件,用于显示和操作数据库中的数据。Edit Source功能允许开发者深入到数据窗口的源代码级别进行自定义和编辑,以实现更精细的数据呈现和处理。 1. **数据窗口的创建和版本管理** - PB提供了一个名为d_dbit_example.srd的示例文件,该文件属于PB的一个特定版本EASDemoDBV120。在PB中,开发者可以创建、修改和管理数据窗口的不同版本,以适应不同需求或数据库结构的变化。 2. **数据窗口对象类型** - 数据窗口可以是Grid(网格)或Freeform(自由形式)。Grid是标准的表格布局,而Freeform允许更灵活的布局设计,通常用于复杂的报告或表单。 3. **数据窗口的结构** - DataWindow由多个部分组成,如Header(标题)、Table(表格)等。Header部分可以包含多个子部分,如header[1]、header[2]等。Table部分包含了实际的数据库字段,通过setitem、update、object.data等函数来操作数据。 4. **列的操作** - 在Table()中,每个column代表数据库的一个字段,可以通过column属性设置其特性,例如ID列是否允许更新。column()函数可以获取或设置列的特定属性。 5. **检索和更新数据** - table(retrieve)用于执行SQL检索,可以通过setsqlselectmodify()函数定制SQL语句。update操作则根据数据窗口中的更改更新数据库。 6. **计算字段和文本显示** - compute()函数用于计算基于其他字段的值,这些值可以是简单的数学运算或复杂的业务逻辑。text()函数则用于将计算结果以指定格式显示,可能需要转换为字符串(如string(columncompute))。 7. **HTML表格导出** - htmltable()函数用于将数据窗口导出为HTML格式,可以设置样式参数,如GenerateCSS、Border和CellSpacing,控制HTML表格的外观。 8. **XML导入和导出** - export.xml()和import.xml()函数分别用于将数据窗口导出为XML格式和从XML文件导入,这对于数据窗口的版本管理和跨系统交换非常有用。 9. **自定义样式和模板** - PB允许通过settemplate()函数设置和应用模板,以实现数据窗口的统一外观和风格。 10. **标题编辑** - Edit Source提供了对标题(title)的编辑,可以修改标题的颜色(color)、背景颜色(background.color)等属性,以创建具有视觉吸引力的标题。 11. **其他功能** - 还有一些其他高级功能,如band(带区)的设置,可以用于创建前景和背景颜色,以及自定义的样式和布局。 通过掌握PB数据窗口的edit source,开发者能够实现复杂的数据展示和交互,提高应用程序的用户体验和功能完整性。理解并熟练运用这些知识点对于PB开发人员来说至关重要,它能够帮助他们更好地控制数据的显示和处理,创建出符合业务需求的高效应用程序。
数据窗口源码介绍
(举例见d_dbit_example.srd,测试数据库为PB自带的EAS Demo DB V120)
1.第一行:release 12;
数据窗口所属PB的版本号,如果想把高版本的datawindow导入低版本的PB中要修改此数字;
2.datawindow()行
通常用修改processing属性,可以把你的数据窗口由grid变成freeform或其它类型
例:freeform:0 grid:1
3.header()行
可以整行复制粘贴,并命名为header[1],header[2],这样可以让数据窗口有多个header
4.table()行
这里全是定义的数据属性,是setitem,update,object.data等方法访问的根源
如果存在table()里的column,数据窗口里可以不存在任何对象,仍然可以访问数据窗口的数据
如果想创建一个空的数据窗口,可以只定义: release 12; table()
5.table(column行)
是第几个column,它的ID就是多少,其中也定义了是否可以update时和更新到数据表的字段名
6.table(retrieve行)
检索数据时使用的SQL语句,可以通过setsqlselect或modify("table.sqlselect")方法去动态修改
修改后要重新定义数据窗口的更新属性
7.column()行
id即是对应table(column行)里的行次,名称(name)可以随便命名,也可以没有,则默认为table(column行)里的name
下载后可阅读完整内容,剩余2页未读,立即下载