如何从 TStringGrid 的内容创建 QuickReport
我在 Windows 7 上使用 Delphi 7 和 QuickReports。通常 QuickReports 需要由查询生成的数据集,但我想根据 StringGrid 的内容制作报告,就好像 StringGrid 是查询结果的表示一样。
如何?
I'm using Delphi 7 and QuickReports on Windows 7. Normally QuickReports require a DataSet generated by a query, but I want to make a report from the contents of a StringGrid as though the StringGrid is a representation of the results of a query.
How?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 QuickReport.OnNeedData 事件处理程序。它传递一个名为 MoreData(布尔值)的 var 参数;将其设置为 True 意味着它会再次被调用。将 QuickReport.DataSource 属性留空,并使用普通 TQRText 控件而不是 TQRDBText。
Use the QuickReport.OnNeedData event handler. It passes a var parameter called MoreData (a boolean); setting it to True means it gets called again. Leave the QuickReport.DataSource property blank, and use plain TQRText controls rather than TQRDBText.
我假设列集在 StringGrid 中是固定的(并且在相应的 TClientDataSet 中)。分步说明:
您需要在循环中执行 Append/Post,循环遍历网格中的每一行。您可以在其他循环中分配 COL1、COL2 等,也可以手动编码。
I assume the set of columns is fixed within the StringGrid (and withing the corresponding TClientDataSet). Step-by-step instructions:
You'll need to do the Append/Post in a loop, looping over each row in the grid. You can assign the COL1, COL2 etc in an other loop, or you can hand-code it.