翰文个人计算机学习网
  • 翰文快讯
  • 翰文PC快讯
  • 综合软件区
  • 操作系统
  • 注册表解析
  • Windows系列
  • Unix/Linux
  • 其他系统
  • 应用软件
  • 微软MS Office
  • WPS Office
  • 多媒体软件
  • 图像处理
  • Photoshop
  • Painter
  • Illustrator
  • CorelDRAW
  • 三维空间
  • AutoCAD
  • 3DMAX
  • 3DMAYA
  • 硬件资源
  • 攒机指南
  • 硬件超频
  • 维修指南
  • 网络资源
  • 在线通讯
  • 网上冲浪
  • 浏览器中心
  • 网络故障解析
  • 病毒资料
  • 病毒通报
  • 病毒防治
  • 病毒常识
  • 黑客技巧
  • SQL/MySQL
  • Oracle
  • Delphi
  • 编程资源
  •  C/C#/C++/VC++/VC.NET
  •  Basic/VB/VB.NET/VBScript
  •  FoxBasic/FoxPro/VF/VF.NET
  •  Java/JavaScript
  • PowerBuilder
  • 热门词:
  • 翰文计算机学习网首页
  • >
  • PowerBuilder
  • >
  • PB6中报表输出的技巧二则
  • PB6中报表输出的技巧二则

  • 资源来源:
  • HW-PCS.ORG
  • 资源作者:
  • 翰文计算机学习网
  • 人气指数:
  • [4783]
  •   报表在日常事物处理中占十分重要的地位,用户往往需要将数据库中的内容以不同的格式输出。PowerBuilder提供了具有多种显示风格的Datawindow控件,只要加以灵活的运用,就能做出不同风格的报表。本文结合笔者的实际开发经验,以一个报表的两种实现方法为例,谈谈报表输出的一点技巧

      一、数据库中的两个TABLE:project(项目)、manufacture(询价厂商)。

    其结构如下:

    project(xmbh,gg,xh,psyj……)
    manufacture(xmbh,csmc,xjcx,gg,xh,bj……)

    project表中的内容:
    Xmbh Gg Xh Psyj
    001 Gg001 Xh001 Aaa

    manufacture表中的内容:
    Xmbh Csmc Xjcx Gg Xh Bj
    001 厂商1 1 Gg1 Xh1 100.00
    001 厂商2 2 Gg2 Xh2 101.00
    001 厂商3 3 Gg3 Xh3 102.00

      二、输出的报表格式:(实际报表中字的颜色均为黑色,底色均为白色)

    项目编号 001
    我方要求 厂商1 厂商2 厂商3
    规格 Gg001 Gg1 Gg2 Gg3
    型号 Xh001 Xh1 Xh2 Xh3
    报价 100.00 101.00 102.00
    评审意见 Aaa

      三、实现方法

      该报表中包含project与manufacture两个table的记录,并且要求将manufacture中的记录以列的形式输出。

      具体实现方法如下:

      方法1:

      创建一Freeform格式的datawindow(dw_1),将project中所需的内容选出,设置其Argument为xmbh。其格式即不含灰底中内容。创建一Label格式的datawindow(dw_2),将manufacture中所需的内容选出,同样设置其Argument为xmbh;双击该datawindow的空白区域,打开属性对话框,主要设置Definition属性页:

    (1) Label项: 设置Label的宽度、高度、每页的Label个数;
    (2) Margins项:指定Label的上、下、左、右以及Label与Label之间的间距;
    (3) Arrange项:Label 的安排方式:从左到右或从上至下

      打开dw_1,插入一Nested Report控件,选择Report为dw_2。灰底区域的位置与大小调整Report,同时设置该Report的General、Arguments属性页,设置General属性页的Border为None,指定Arguments页中的Expression为xmbh列(这是为了避免预览或打印时出现“Special Retrieval”)。
      调整dw_2中的Column 的高度、宽度、大小以及Column与Column的间距,直至满意为止。(为了调试方便,最好将dw_2中Column的Border设置为None)
      最后,直接预览或打印dw_1即可!
      注:Label格式datawindow的边框无法修改,以至在dw_1预览时仍可看到dw_2的顶部与底部不规则的边框,但并不影响打印效果。要解决这个问题也并不难,只需在dw_1中插入二个与底色同色的矩形,分别放置在图一灰色区域的顶部与底部,并将它们至于dw_2之上,然后将dw_1中的表格线“Bring to Front”。

      方法2:

      创建一Freeform格式的datawindow(dw_1),将project中所需的内容选出,设置其Argument为xmbh。其格式即不含灰底中内容。再创建一Freeform格式的datawindow(dw_2),将manufature中所需的内容选出,设置其Argument为xmbh。注意:要将xjcx列选出,为了不显示和打印该列,可将其foreground color设为与底色同色(不能在datawindow中将该列删除)。
      打开dw_1,插入三个Nested Report控件,Report 都选择dw_2。按图一灰底区域的位置与大小调整三个Report,同时设置Report的General、Arguments属性页,设置General属性页的Border为None,指定Arguments页中的Expression为xmbh列。另外,对每一个Report分别设置其Criteria属性页,依次指定xjcx列的criteria值为1,2,3。
      调整dw_2中的Column 的高度、宽度、大小以及Column与Column的间距,直至满意为止。
      最后,直接预览或打印dw_1即可!

      上面的两种方法是笔者对这种类型的报表输出的总结和概括,也可以说是一点,希望能对大家有所帮助。
     

    感谢您对翰文计算机学习网的支持

  • 关于我们
  • 联系方式
  • 成功案例
  • 技术报价
  • RSS索引
  • 网站地图
  • 翰文电脑学习网
  • MSN:LNDDYGYC9@HOTMAIL.COM Powered by 翰文个人计算机学习网 版权所有,未经允许不得转载
    ICP备案号码:[沪ICP备12020678号] Copyright 2008-2020 HW-PCS.ORG, All Rights Reserved.