在PB中实现分段打印功能

转载 2012年04月05日 16:18:00

在PB中实现分段打印功能

(加入日期:2001-11-14)

保存文章至硬盘】【打印文章】【字体:

分享到: 0
  文/张瑜

  在使用Powerbuilder进行应用程序的开发过程中,可使用Powerbuilder提供的函数Print()对数据窗口进行打印,但是在实际应用中,Print()函数提供的功能远不能满足用户的需要。本文将介绍如何在Powerbuilder中实现分段打印的技巧,从而满足应用程序特定功能的要求。

  有时,我们需要把数据窗口显示的数据按照一定的格式进行分页打印,而每页显示的  
数据是随机的,每页又需要分别汇总,所以每页的总和也不相等,我们可以用RowsDiscard()和RowsCopy()函数与Print()函数联合使用。

  例如对于某一数据窗口,我们需要按照每页打印5行,不足5行补空行,每页合计为当页总数。这时我们首先把显示的数据窗口命名为dw_1,接着另建一个隐含的数据窗口,格式和dw_1完全相同,并命名为dw_2,最后计算需要打印几页,具体程序如下:

  int n,mm

  //每页打印mm行

  mm = long(em_1.text)

  n = int(dw_1.rowcount()/mm) + 1

  //如果不足mm行,直接打印

  if dw_1.rowcount() < mm then

   dw_1.print()

   return

  end if

  //用FOR循环语句,循环n-1次:

  int m = 0

  for m = 0 to n - 1

   dw_2.reset()

   dw_2.rowsdiscard(1,dw_2.rowcount(),Primary!)

   //删除dw_2中的数据

   //从数据窗口的主缓冲区拷贝mm行到dw_2

  dw_1.RowsCopy(mmm+1, (m+1)mm, Primary!, dw_2, 1, Primary!)

  //不足mm行补空行

  if dw_2.rowcount() > 0 and dw_2.rowcount() < mm then

  int ii,jj

  jj = dw_2.rowcount()

  for ii = 1 to mm - jj

  dw_2.InsertRow(0)

  dw_2.ScrollToRow(dw_2.RowCount())

   next

   end if

  //循环打印dw_2窗口

  dw_2.print()

  next

  利用以上代码,我们就可以实现按特定的格式进行分段打印的功能了。

pb中的打印----转

在PowerBuilder应用程序的开发中,各种报表的打印功能是必不可少的。Power-Builder4.0提供了大量与打印机进行通信的内部函数,用于各种打印输出。运用这些函数,您不仅可以打印常见的D...
  • anyqu
  • anyqu
  • 2013年11月05日 18:11
  • 1737

pb自定义纸张(连续走纸)

Pb中定制打印页长实现连续打印 pb与打印机的通讯使用ASCII码进行,其中标准ASCII码包括可打印字符及非打印字符(控制码),打印机使用控制码来定制打印机。大多数打印机指令使用控制码escape作...
  • maketoday
  • maketoday
  • 2009年05月07日 19:57
  • 6235

pb打印:PB中打印预览的实现

转载自计算机世界日报 (文/刘荣芳)    作为目前比较流行的数据库前端开发工具 PowerBuilder显着的一个特点就是其数据窗口(DataWindow)技术,利用此技术可生成各种复杂 报表,但在...
  • lidengzhi0000
  • lidengzhi0000
  • 2009年04月25日 16:45
  • 4561

PB数据窗口每页打印固定行

数据窗口每页打印固定行       第一步:增加一个计算列,此计算列必须放在Detail段,Expression中输入:   ceiling(getrow()/10)  每页打印10行   ...
  • xuejiayue1105
  • xuejiayue1105
  • 2013年02月27日 22:15
  • 6276

用JS在html页面实现打印功能

有时候我们做页面的时候,会要求有打印页面的按钮,而且有的时候会要求只打印页面中的某一部分而不是全打印 首先在head里面加入下面一段js代码: function preview(oper) { if ...
  • alokka
  • alokka
  • 2017年07月14日 11:37
  • 1737

js打印功能实现

一、普通打印(整页打)  这个不用多说,直接用  引用:window.print();  二、打印网页内部分内容(自定义)  分三种方法实现  1、用css控制  引用:@media ...
  • zhll3377
  • zhll3377
  • 2012年07月23日 08:34
  • 6584

pb 数据窗口打印设置

打印份数 dw_print.object.datawindow.print.copies=lstr_param.prn_printcopies //纸张大小 dw_print.object.dataw...
  • zzzili
  • zzzili
  • 2012年12月06日 15:26
  • 2648

PB关于打印机纵向横向打印的设置

dw_2.Object.DataWindow.Print.Orientation   =   0  横向dw_2.Object.DataWindow.Print.Orientation   =   1...
  • tisnly
  • tisnly
  • 2008年03月17日 08:46
  • 5898

【PB】Datawindow中每页打印固定行

Datawindow中每页打印固定行 第一步:增加一个计算列,此计算列必须放在Detail段,Expression中输入: ceiling(getrow()/20) 第二步:定义分组,选...
  • lijianhe043
  • lijianhe043
  • 2012年09月21日 23:27
  • 2720

PB条码打印探讨

在信息系统开发时通常有用户要求能够打印条码,笔者现在就power builder 工具开发的系统初略的介绍一下条码的实现方式及其优缺点。本文主要讨论code39和code128的实现方法。     ...
  • iceriver315
  • iceriver315
  • 2011年12月03日 21:17
  • 2461
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在PB中实现分段打印功能
举报原因:
原因补充:

(最多只允许输入30个字)