在pb编程中,我们经常需要应用一些小的技巧,如:使数据窗口每页打印固定行、在系统中嵌入excel对象等。下面,笔者将结合实际介绍这些小的技巧应用。
一、页面的精确打印
关于数据窗口每页打印固定行的问题:
1.增加一个计算列,此计算列必须放在detail段的expression中输入:
ceiling(getrow()/20)
//这里20还可以用全局函数取代,这样可以允许用户任意设置每页打印多少行。
2.定义分组,选择选单“rows->create group...”,并按计算列字段分组。最后一定将“check box-->new page on group break”选中。
3.将此计算列设为不可视。
另外,如果需要最后一页不足补空行。也很简单,程序如下:
long ll_pagerow = 10
//每页打印行数
long ll_count, ll_row
ll_count = dw_report.retrieve(...) //取得现有报表的总行数
ll_count = ll_pagerow - mod(ll_count, ll_pagerow)
if ll_count < ll_pagerow then
for ll_row ="" 1 to ll_count
dw_print.insertrow(0)
//补足空行
next
end if
二、如何嵌入excel对象
在进行程序开发时,有时会需要将powerbuilder与excel应用程序结合使用,如将数据检索出来后,按照格式要求,将数据转入到excel表格中。实现步骤如下:
1.创建并连接对象:
oleobject loo_excel
oleobject loo_sheet
loo_excel=create oleobject
loo_excel.connecttonewobject("excel.application")
//设置缺省的字体与大小
loo_excel.application.standardfont = "arial narrow"
loo_excel.application.standardfontsize = "8"
loo_excel.application.workbooks.add()
loo_sheet=loo_excel.application.workbooks(1).worksheets(1)
loo_excel.application.visible=true
loo_excel.application.screenupdating = false //屏蔽可见属性
2.调用excel本身的属性,函数,通过数据窗口填写数据到excel:
loo_excel.application.screenupdating = true //设置可见属性
3.断开连接并释放对象:
loo_excel.disconnectobject()
//注:建议引用api函数,捕获handle。
destroy loo_excel
以上程序已在pb6.0、windows 98平台上运行通过。
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 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器