dexteryao 发表于 2016-7-18 16:46:53

本帖最后由 dexteryao 于 2016-7-18 16:48 编辑

就是按那个blog设置的,一样
1 .设置一个par 允许多值

2. dataset中引用多值变量

3,sql中引用变量

4.通过代码传递参数
      protected void Page_Load(object sender, EventArgs e)
      {
            GrapeCity.ActiveReports.PageReport pagereport = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("RdlReport1.rdlx")));
            // 设置参数值,因为该参数允许多值,所以可以调用多次Add添加多个参数值
            pagereport.Report.ReportParameters.DefaultValue.Values.Clear();

            var values = Request.QueryString["ids"].Split(',');
            foreach (var id in values)
            {
                pagereport.Report.ReportParameters.DefaultValue.Values.Add(id);
            }

            WebViewer1.Report = pagereport;
}

链接地址
http://localhost:17263/WebForm1.aspx?ids=1,2



wu8829 发表于 2016-7-18 16:54:02

那我的方法哪里有问题呢?

wu8829 发表于 2016-7-18 16:54:05

那我的方法哪里有问题呢?

wu8829 发表于 2016-7-18 16:59:48

为什么非得要split后传递参数呢?这算是功能缺陷吗?

dexteryao 发表于 2016-7-18 17:38:16

因为sql server本身并不支持 in 中使用参数传递多值, 所以在使用多值是需要拆分的。
AR 不支持试用EXEC方法,而且在开发实践中也不推荐使用EXEC。
如果不想代码中split 参数,可以使用我之前提到的方法,新建一个split 的function ,在数据库中处理。

wu8829 发表于 2016-7-18 17:54:21

好的,明白了。谢谢。可以封帖了,麻烦赠送积分哦

dexteryao 发表于 2016-7-18 17:55:51

{:4_86:}
页: 1 [2]
查看完整版本: 关于配置数据集的bug