KearneyKang 发表于 2019-6-25 11:46:41

本帖最后由 KearneyKang 于 2019-6-25 11:50 编辑

您好,根据你的描述,我在我这边进行了一个测试验证。
在后端给参数赋值可以直接在报表端展示的。具体代码给参数赋值如下:
public Form1()
      {
            InitializeComponent();
            this.viewer1.Sidebar.Visible = true;
            GrapeCity.ActiveReports.PageReport rpt1 = new GrapeCity.ActiveReports.PageReport(new FileInfo(@"测试标签.rdlx"));
            rpt1.Report.ReportParameters.DefaultValue.Values.Add("1");
            rpt1.Report.ReportParameters.DefaultValue.Values.Add("2");
            rpt1.Report.ReportParameters.DefaultValue.Values.Add("3");
            rpt1.Report.ReportParameters.DefaultValue.Values.Add("4");

            viewer1.LoadDocument(rpt1.Document);
            this.viewer1.Sidebar.SelectedIndex = 3;
            this.viewer1.Sidebar.Visible = true;
      }最后展示的结果是我默认设置了,参数栏参数可见,然后一切正常,后台给参数赋的值都绑定给了参数并显示。

桔紫蓝 发表于 2019-6-25 16:22:43

KearneyKang 发表于 2019-6-25 11:46
您好,根据你的描述,我在我这边进行了一个测试验证。
在后端给参数赋值可以直接在报表端展示的。具体代码 ...

谢谢您的耐心解答,我这里是公司项目代码,最近添加一些参数、打印层等的设置,没有您给的代码看着清爽,仔细对比了一下,发现是:
    viewer.ReportViewer.LoadDocument(report.Document);这句在report获取之后的函数中调用的,而我设置参数的代码在后面的函数调用的,虽然断点查看是执行了我的代码,report还是同一个对象,但是对照您的代码发现这个时候设置参数已经晚了,所以才会弹出参数再次让输入的情况。

KearneyKang 发表于 2019-6-25 16:30:38

好的,问题解决了就好{:4_86:}

桔紫蓝 发表于 2019-6-26 09:05:41

KearneyKang 发表于 2019-6-25 16:30
好的,问题解决了就好

您好,还有疑问,为什么一个参数对应的值是一个集合,而不是一个值呢
这个参数集合是不是有什么特殊的用法呢,比如一个参数的值集合可以与页码关联起来使得不同的页打印不同的值吗?

KearneyKang 发表于 2019-6-26 09:47:50

你说的参数值是一个集合的问题,我不是很理解。你的每一个参数值都是多值参数还是?
还有第二个问题,想每页打印的时候显示不同的参数值,那么你可以根据页码的那个函数自己对打印需要展示的文本框写一个表达式,然后表达式就是根据页面的不同显示不同的赋值。

桔紫蓝 发表于 2019-6-26 09:56:56

KearneyKang 发表于 2019-6-26 09:47
你说的参数值是一个集合的问题,我不是很理解。你的每一个参数值都是多值参数还是?
还有第二个问题,想每 ...

就比如多值参数呢,多值参数是怎么使用的呢

Lenka.Guo 发表于 2019-6-26 15:10:55

您好:
您是想在主窗体,点击“打印预览”按钮后,直接进行“报表展示”,不需要显示已通过代码赋值的参数面板,不需要再提示用户输入,是吗?
如果是这样,您在参数的属性对话框中,勾选隐藏按钮。如果所有的参数都设置为隐藏,并在代码中赋值,参数面板将不会显示。

桔紫蓝 发表于 2019-6-26 15:36:27

Lenka.Guo 发表于 2019-6-26 15:10
您好:
您是想在主窗体,点击“打印预览”按钮后,直接进行“报表展示”,不需要显示已通过代码赋值的参数 ...
您好,谢谢您的解答
    想咨询一下您图片中左边的"多值"勾选框中有什么使用场景么??我现在的报表打印基本一个参数一个值就可以,但是不知道这个多值该在哪些场景使用,想学习一下,亲

KearneyKang 发表于 2019-6-26 16:52:16

多值的场景是,你进行查询的时候一次进行多个值的选择,就是全选和部分选择得到你想要的值,就如同这样:




具体多值传参这块后期你使用到可以参考这个博客:https://www.grapecity.com.cn/blogs/parameter-reports-multivalue-pass-parameters

桔紫蓝 发表于 2019-6-26 17:48:52

KearneyKang 发表于 2019-6-26 16:52
多值的场景是,你进行查询的时候一次进行多个值的选择,就是全选和部分选择得到你想要的值,就如同这样:
...

谢谢,谢谢
页: 1 [2] 3
查看完整版本: 请问,ActiveReports中的报表参数是否接收代码传入值