szg_xn 发表于 2024-10-15 19:32:11

AR报表设计的一些问题

如附件截图所示,报表中通过OLE DB添加了数据源,和一些需要使用的元素,要实现如下功能:
1,表格1(嵌套在容器中的):希望的效果是在容器中显示动态生成的数据集里的所有记录,在容器中的目的是数据记录比较多时,控制显示数据的页面最多显示记录的行数,有滚动条控制可以上下拉动,查看下面的其他记录行。
2,表格2:是一个固定行数和固定列数的表格,表格内的“文本框7-文本框14”的内容由winform程序调用打开报表时,动态输入进表格并显示。
3,普通文本框16:也是需要winform程序调用打开报表时,动态输入进表格并显示。
4,图像1:报表内的图像控件用于显示BMP图片,图片的内容也需要winform程序调用打开报表时,动态输入进表格并显示。
通过什么途径以上达到的目的。


Bella.Yuan 发表于 2024-10-15 19:32:12

您好,针对问题1,目前报表的容器组件没有滚动条,rdl报表对应的数据是一次从上而下进行扩展显示,页面报表是根据组件的扩展区域进行数据显示。
rdl报表:



页面报表:

针对问题2-问题4,您可以参考这个教程进行对应的实现,也可以使用运行时数据源:

winform如何使用代码给对应的组件进行赋值
https://gcdn.grapecity.com.cn/showtopic-168084-1-1.html
(出处: 葡萄城开发者社区)

运行时数据源参考:https://help.grapecity.com.cn/pages/viewpage.action?pageId=5968575
您根据实际情况选择就可以。

szg_xn 发表于 2024-10-16 19:17:22

附件是用户程序和参考的demo程序代码的对比,和报错情况。

szg_xn 发表于 2024-10-16 19:19:18

这是报错问题,和与demo程序对比的图片

Bella.Yuan 发表于 2024-10-17 09:50:20

szg_xn 发表于 2024-10-16 19:19
这是报错问题,和与demo程序对比的图片
微信已联系,您使用的是rdl交互式报表,对应的报表结构有变化,所以代码编写也需要修改,参考下面的表达式,对应的断点查看参考gif图。

System.IO.FileInfo rptPath = new System.IO.FileInfo(@"AR1(1).rdlx");
            GrapeCity.ActiveReports.PageReport report = new GrapeCity.ActiveReports.PageReport(rptPath);
            //修改文本框的值
            GrapeCity.ActiveReports.PageReportModel.ReportItem items = report.Report.ReportSections.Body.ReportItems["text1"];
            GrapeCity.ActiveReports.PageReportModel.TextBox text = new GrapeCity.ActiveReports.PageReportModel.TextBox();
            text = (GrapeCity.ActiveReports.PageReportModel.TextBox)items;
            text.Value = "kkkkkkkkkkk";
            this.viewer1.LoadDocument(report.Document);


页: [1]
查看完整版本: AR报表设计的一些问题