社区
PowerBuilder
帖子详情
怎样实现数据窗口的指定打印页数?
leonwan
2001-05-21 09:08:00
各位大虾:
如果下拉列表统计的数据量比较大,比如有几万条数据时。要实现对数据的指定打印,
该如何实现?
...全文
243
8
打赏
收藏
怎样实现数据窗口的指定打印页数?
各位大虾: 如果下拉列表统计的数据量比较大,比如有几万条数据时。要实现对数据的指定打印, 该如何实现?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liulee
2001-05-27
打赏
举报
回复
呵呵,怎么尽给我啊...
Methodor
2001-05-26
打赏
举报
回复
太旧了吧~~
4、5年前有人看~~
现在。。。~~
leonwan
2001-05-26
打赏
举报
回复
大家来看看呀。
leonwan
2001-05-26
打赏
举报
回复
结案了。
leonwan
2001-05-25
打赏
举报
回复
现在给出方法,让那些可能碰到这问题的人们不要走弯路了。
//转载
PowerBuilder 中 数 据窗 口 的 精 确 页 面 打 印 技 术
中国计算机世界
国 永 杰 张 颖
---- 摘 要 本 文 详 细 介 绍 了PowerBuilder 中 数 据 窗 口 打 印 输 出 技 术, 并 给 出 了 一 个 通 用 的 数 据 窗 口 打 印 控 制 程 序。
---- 关 键 词 PowerBuilder DataWindow Print
1. 引 言
---- 自PowerBuild 4.0 问 世 以 来, 以 其 简 洁 高 效 的 集 成 开 发 环 境、 强 大 的 数 据 窗 口 技 术、( 几 乎) 无 所 不 能 的 数 据 库 访 问 能 力, 越 来 越 受 到 编 程 人 员 的 青 睐。 据Sybase 自 己 的 统 计, 目 前 全 球 有60 万 程 序 员 和 系 统 分 析 人 员 在 使 用 他 们 的Powerbuilder 和S-designer, 进 行 各 种 类 型 的 应 用 程 序 开 发。 最 新 发 布 的PowerBuilder 6.0 族 系 列 开 发 工 具, 直 接 支 持Active X 技 术、Server Push 技 术, 对 分 布 式 计 算 模 型 的 定 义 更 加 明 确, 实 现 更 为 简 便, 并 可 以 利 用 数 据 窗 口 直 接 生 成HTML 格 式 文 件, 等 等。 所 以,PowerBuilder 已 成 为C/S 模 式 应 用 和 基 于InterNet 模 式 应 用 的 主 要 开 发 工 具 之 一。
---- 数 据 窗 口(DataWindow) 是PowerBuilder 的 专 利, 也 是PowerBuilder 应 用 程 序 的 核 心 和 精 华 所 在.PowerBuilder 通 过 丰 富 的 属 性 和 函 数 来 控 制 数 据 窗 口 的 显 示 和 数 据 操 纵, 但 对 数 据 窗 口 的 打 印 支 持 似 乎 过 于 简 单, 只 有 一 个Print() 窗 口 函 数 和 一 个PrintDataWindow PowerScript 函 数, 并 且 这 两 个 函 数 的 功 能 几 乎 都 是 一 样, 都 只 简 单 地 将 选 定 数 据 窗 口 原 样 送 入 打 印 队 列, 本 身 不 具 备 页 面 控 制 功 能。 为 此 很 多 程 序 员 抱 怨 这 是PowerBuilder 的 一 个 缺 陷, 其 实,PowerBuilder 对 打 印 功 能 的 支 持 一 样 十 分 周 到 全 面, 只 不 过 应 用 场 合 不 同, 需 要 用 户 自 行 加 以 选 择。
---- 以 下 是 对PowerBuilder 打 印 控 制 功 能 的 详 尽 分 析, 并 介 绍 一 个 实 用 的 数 据 窗 口 页 面 控 制 程 序。
2. Powerbuilder 实 现 动 态 页 面 控 制 的 途 径
---- PowerBuilder 数 据 窗 口 有 一 对 函 数Describe 和Modify, 用 于 动 态 描 述 和 修 改 数 据 窗 口 结 构, 与 其 它 相 关 函 数 结 合 可 以 完 成 动 态 生 成 数 据 窗 口、 任 意 改 变 数 据 窗 口 显 示 方 式、 修 改 打 印 属 性 等。 这 两 个 函 数 是 控 制 与 修 改 数 据 窗 口 的 核 心 函 数, 其 使 用 方 法 如 下:
---- 1) Describe 获 取 数 据 窗 口 特 定 属 性 值
---- 语 法:dwcontrol.Describe ( propertylist)
---- 参 数:dwcontrol 数 据 窗 口( 或datastore) 控 件 名。
---- propertylist 用 字 符 串 表 示 的 数 据 窗 口 属 性。
---- 返 回 值: 返 回 一 个 表 示 属 性 的 字 符 串。
---- 数 据 窗 口 属 性 值 也 可 以 用dwcontrol.object.Datawindow.property 来 完 成 直 接 取 得。
---- 2) Modify 修 改 数 据 窗 口 特 定 属 性
---- 语 法:dwcontrol.Modify ( modstring )
---- 参 数:dwcontrol dwcontrol 数 据 窗 口( 或datastore) 控 件 名。
---- modstring 用 字 符 串 表 示 的 数 据 窗 口 属 性。
---- 返 回 值: 如 果 函 数 执 行 成 功 返 回“1”。
---- 与Describe 类 似, 修 改 数 据 窗 口 属 性 可 以 用:
---- dwcontrol.object.Datawindow.property = value 直 接 赋 值。
---- 3) 与 打 印 有 关 的 数 据 窗 口 属 性
---- 数 据 窗 口 属 性 中 与 打 印 有 关 的 有24 个, 其 中 实 现 打 印 页 面 控 制 的 几 个 属 性 是:
---- Copies: 打 印 份 数。
---- Filename: 如 果 不 为 空, 表 示 输 出 到 文 件 的 文 件 名。
---- Orientation : 打 印 方 向1= 横 向,2= 纵 向
---- Page.Range: 输 出 页 范 围, 要 打 印1,2, 和5 到10 页, 输 入: "1,2, 5-10"。 Page. RangeInclude: 本 次 打 印 范 围,0= 全 部,1= 偶 数 页,2= 奇 数 页。Paper.Size: 纸 张 大 小。
---- Scale: 打 印 比 例。
---- 程 序 中 利 用Modify 函 数 设 置 好 这 些 属 性 后, 即 可 实 现 动 态 修 改 数 据 窗 口 的 目 的, 再 调 用datawindow.print() 函 数, 完 成 最 后 的 打 印 输 出。
一 个 通 用Datawindow 打 印 控 制 程 序
---- 将 数 据 窗 口 中 的 报 表 在 打 印 机 上 输 出 是PowerBuilder 应 用 程 序 开 发 过 程 中 必 不 可 少 的 功 能, 作 为 例 子, 这 里 提 供 一 个 使 用 上 述 方 法 研 制 的 通 用 打 印 控 制 窗 口, 用 以 替 代Prompt 属 性 所 提 供 的Print 窗 口, 实 现 汉 化 界 面, 并 且 可 被 自 行 修 改 扩 充。 为 了 书 写 简 单, 程 序 中 采 用 直 接 赋 值 的 方 式 修 改 属 性。
实 例 变 量:
datawindow dw_print
string printername , name ,port
窗 口open 事 件 脚 本:
dw_print = Message.PowerObjectParm
printername = dw_print.Object.Datawindow.Printer
name = left(printername,pos(printername,"on") -1)
port = right(printername,len(printername) - pos(printername,"on")-1)
plb_printername.additem(name,1)
st_portname.text = port
“ 设 置” 按 钮clicked 事 件 脚 本
Integer code
Code = printSetup()
If code =1 then
printername = dw_print.Object.Datawindow.Printer
name = left(printername,pos(printername,"on") -1)
port = right(printername,len(printername) - pos(printername,"on")-1)
plb_printername.additem(name,1)
st_portname.text = port
end if
打 印 范 围 组 中“ 全 部” 选 择 钮clicked 事 件 脚 本
dw_print.object.DataWindow.Print.Range =''
sle_1.enabled = false
sle_2.enabled = false
sle_3.enabled = false
“ 页 数” 栏 后sle_2 单 行 文 本 编 辑 框Modified 事 件 脚 本
dw_print.object.DataWindow.Print.Page.Range = sle_1.text + "-" + sle_2.text
“ 自 定 义” 栏 后sle_3 单 行 文 本 编 辑 框Modified 事 件 脚 本
dw_print.object.DataWindow.Print.Page.Range = sle_3.text
打 印 份 数 组 中 份 数 单 行 文 本 编 辑 框Modified 事 件 脚 本
dw_print.Object.DataWindow.Print.Copies = integer(this.text)
“ 全 部” 选 择 钮Cliecked 事 件 脚 本
dw_print.Object.DataWindow.Print.Page.Rangeinclude =0
“ 奇 数” 选 择 钮Cliecked 事 件 脚 本
dw_print.Object.DataWindow.Print.Page.Rangeinclude =1
“ 偶 数” 选 择 钮Cliecked 事 件 脚 本
dw_print.Object.DataWindow.Print.Page.Rangeinclude =2
“ 确 认” 命 令 按 钮Clicked 事 件 脚 本
long job
if IsValid(dw_print) then
job = PrintOpen( )
PrintDataWindow(job, dw_print)
PrintClose(job)
close(parent)
end if
“ 取 消” 命 令 按 钮Clicked 事 件 脚 本
close(parent)
---- 窗 口 调 用 方 法: 在 其 它 带有 数 据 窗 口 的 窗 口 中, 使 用OpenWithParm(w_print_set,dwname) 即 可, 其 中w_print_set 为 本 窗 口 名,dwname 为 要 打印 的 数 据 窗 口。 该 程 序 是 一 个 通 用 打 印 控 制 程 序, 可 在 任 何 版 本 的PowerBuilder 应 用 中 使 用。
liulee
2001-05-25
打赏
举报
回复
呵呵,给自己加分吧.
leonwan
2001-05-25
打赏
举报
回复
解决了。
powered
2001-05-25
打赏
举报
回复
有用,很好!
GLM-5.1本地部署
实现
agentic coding闭环
agentic coding(智能体式编程)是大模型从单次生成迈向自主任务分解、工具调用与迭代修正的关键范式。其核心依赖于低延迟推理、可控的生成状态管理及安全的工具执行环境。在消费级硬件(如RTX 4090)上稳定运行GLM-5.1,需突破标准pipeline的上下文隔离缺陷,借助vLLM
实现
KV cache精准隔离与高并发响应,并通过动态token计算、沙箱化工具层和四层解耦架构保障可调试性与工程鲁棒性。本文聚焦GLM-5.1本地部署落地,提供从权重校验、vLLM参数调优到agent loop状态机
实现
的
AI编程范式演进:从Vibe Coding到Spec Coding的实践指南
AI辅助编程正在重塑软件开发流程,其中Vibe Coding和Spec Coding代表两种核心范式。Vibe Coding依赖自然语言交互
实现
快速原型开发,适合探索性项目;而Spec Coding通过结构化规范描述生成工程化代码,显著提升代码质量。这两种模式都基于现代IDE工具链(如VS Code、GitHub Copilot)和大型语言模型(如GPT-4)
实现
。在金融、电商等对代码质量要求高的领域,Spec Coding能确保82%以上的代码一次通过率。开发者可通过配置智能提示模板、建立三维上下文管理体
Vibe Coding:构建可审计的人控架构
实现
可信AI编程
Vibe Coding 是一种以人为核心、AI为执行体的新型编程范式,其本质是将模糊的工程意图转化为机器可理解、可验证、可约束的结构化表达。它超越了低代码与无代码的抽象层级,强调开发者对底层技术边界的深度掌握,如内存模型、实时性约束、协议规范等。通过领域语义锚点、约束声明层、验证契约集和反馈熔断机制四大模块,Vibe Coding
实现
了意图对齐、生成可控与结果可信的统一。该范式已在嵌入式固件、工业通信协议(如S7)、医疗影像系统等高可靠性场景中验证落地,显著降低AI幻觉引发的集成风险,提升代码首次通过率与
OpenClaw+百炼Coding Plan阿里云生产部署实战指南
AI Agent工程化落地的核心在于稳定、可控、可运维的运行时环境。本文围绕OpenClaw框架与百炼平台Coding Plan能力的深度集成,解析轻量级AI工作流(即‘小龙虾’形态)的技术原理:基于Docker容器化与阿里云ECS构建确定性执行环境,通过CCSwitch
实现
多模型路由与错误码标准化,结合Skill生命周期管理与上下文对齐设计保障调用可靠性。技术价值体现在首字响应<1.2秒、Skill热加载失败率<0.3%、Token计费可监控等工程指标;典型应用于低代码逻辑补全、IoT日志诊断脚本生成、编
GLM-4.7开源模型
实现
Agentic Coding编程范式跃迁
Agentic Coding(智能体编程)正成为AI辅助开发的核心范式,它超越传统代码补全,强调任务理解、自主规划与系统级交付。其技术原理在于将大模型的推理过程显式结构化(如交错式思考)、支持可控工具调用,并深度融合多语言栈与工程实践规范。这一能力带来显著技术价值:提升复杂任务闭环率、降低人工串联成本、加速原型验证与工业级部署。典型应用场景涵盖CLI工具一键生成、微服务架构编排、前端UI工业化输出及跨系统周报自动整合。GLM-4.7作为首个达成SWE-bench 73.8%高通过率的开源模型,标志着Agen
PowerBuilder
1,111
社区成员
66,454
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章