点击后界面不会有任何反应,此时在dw的空白处点击一下鼠标左键,会出现如下提示框:
此时可以在columns中选择要进行计算的列,并在左侧选择运算符,OK后,dw会在最后一列生产一个计算列。如图:
此例中计算ljs和ckl两列的乘积,因此在最右侧生成了一个lsj*ckl的列。
另外我们还经常想统计某一列所有行的总和,也就是上图中处在summary栏目中的sum(lsj*ckl)列。该列的生成方法是。选择你要计算和值的列,而后点击如图中按钮:
要确保先选中要计算和值的列,否则会出现选择列的提示。点击之后,就会在summary栏目中,对应你选择列的下方,出现一个计算和值的列了。
在pb中创建一个gird类型的datawindow,设置好数据源表格后,想对其中的某几列进行计算操作如下:点击如图按钮:点击后界面不会有任何反应,此时在dw的空白处点击一下鼠标左键,会出现如下提示框:此时可以在columns中选择要进行计算的列,并在左侧选择运算符,OK后,dw会在最后一列生产一个计算列。如图:此例中计算ljs和ckl两列的乘积,因此在最右侧
PB 11.5做的动态增加编辑
列
,主要代码:
sModify = 'create column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="33554432" x="0" y="80" height="76" width="320" html.valueishtml="0" name=Item00 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=no font.face="Tahoma" font.height="-12" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1073741824" background.transparency="0" background.gradient.color="8421504" background.gradient.transparency="0" background.gradient.angle="0" background.brushmode="0" background.gradient.repetition.mode="0" background.gradient.repetition.count="0" background.gradient.repetition.length="100" background.gradient.focus="0" background.gradient.scale="100" background.gradient.spread="100" tooltip.backcolor="134217752" tooltip.delay.initial="0" tooltip.delay.visible="32000" tooltip.enabled="0" tooltip.hasclosebutton="0" tooltip.icon="0" tooltip.isbubble="0" tooltip.maxwidth="0" tooltip.textcolor="134217751" tooltip.transparency="0" transparency="0" )'
dw_1.modify( sModify)
它更改了完全不适合报表详细信息区域的
列
的行为:
Datawindow
属性pushCutControlToNextPage和DW_PUSH_CUT_CONTROL_TO_NEXT_PAGE设置为NO(标准)
文本被分割,其
中
一些显示在下一页上。
这可能导致文本被分割成一行,Charakter的一部分显示在一页上,其余部分显示在下一页上。
Datawindow
属性pushCutControlToNextPage或DW_PUSH_CUT_CONTROL_TO_NEXT_PAGE设置为YES
完整
列
将移至下一页。仅当
列
适合一页时才会发生这种情况。如果它不适合一页,则不会移动而是分割。
附件是一个包含两个示例pdf的zip文件
Angebot ohne p.pdf是使用DW_PUSH_CUT_CONTROL_TO_NEXT_PAGE = NO创建的。你可以看到一些文字被剪掉了。
使用DW_PUSH_CUT_CONTROL_TO_NEXT_PAGE = YES创建Angebot mit p.pdf。如您所见,第一个pdf
中
包含剪切文本的
列
已移至第二页。
如果您熟悉Microsft RDL,它就像“KeepTogether”属性。
PB获得某一
列
的最大值,合计等
计算
结果,可以有多种方法,这里介绍的是两种比较简便的方法
1. 增加
计算
列
,分别用sum( column_name/column_id for all)和max( column_name/column_id for all)
在外面获得这个
计算
列
的值可以直接地dw_control.object.column_name[1]
2. 利用evaluate函...
当然!以下是一个简单的
PowerBuilder
教程:
1. 安装
PowerBuilder
:首先,你需要下载并安装
PowerBuilder
开发工具。可以从 Sybase 官方网站(现在归 SAP 所有)或其他合法的软件下载网站获取安装程序。
2. 创建一个新项目:打开
PowerBuilder
,并选择“新建”选项来创建一个新项目。给项目命名,并选择一个保存的位置。
3. 设计用户界面:在
PowerBuilder
中
,用户界面是通过窗口对象来实现的。通过拖放控件(如按钮、文本框等)到窗口上来设计用户界面。
4. 添加逻辑代码:在窗口对象上双击以打开事件脚本编辑器,在其
中
添加逻辑代码。例如,你可以在按钮的 Click 事件
中
添加代码来处理按钮点击事件。
5. 数据库连接:
PowerBuilder
提供了内置的数据库连接功能,可以连接到常见的数据库系统,如 Oracle、SQL Server 等。你可以使用
PowerBuilder
的
DataWindow
对象来管理数据库数据。
6. 编译和运行:完成界面设计和代码编写后,你可以点击“编译”按钮来编译项目。编译通过后,你可以点击“运行”按钮来运行你的应用程序。
这只是一个简单的
PowerBuilder
教程,帮助你入门。如果你想深入学习
PowerBuilder
,可以参考官方文档或其他在线资源,如教程、博客等。
希望对你有所帮助!如有更多问题,请继续提问。
PB Error:Error accessing external object property *** at line 0 in open event of object *********.
11585