rwshi 发表于 2015-10-22 11:44:00

是否可以在Asp.net或MVC项目中,在区域报表的脚本中使用其他自定义类

在Asp.net项目中能否在区域报表的script中调用外部类或者方法?
如果支持能否给出实现方法。在Rpx报表的script中加入using提示compile error,无法找到引用或命名空间


frank.zhang 发表于 2015-10-22 15:13:00

您好,

在ASP.NET下使用脚本,需要引入命名空间
            GrapeCity.ActiveReports.SectionReport sr = new GrapeCity.ActiveReports.SectionReport();
            System.Xml.XmlTextReader xtr = new System.Xml.XmlTextReader(Server.MapPath("") + "\\SectionReport1.rpx");
            sr.LoadLayout(xtr);
            xtr.Close();
            sr.AddScriptReference(Server.MapPath("bin\\AR_Web_GettingStart.dll"));
            WebViewer1.Report = sr;

脚本中使用这个命名空间
AR_Web_GettingStart.Module1 mo = new AR_Web_GettingStart.Module1();

public void ActiveReport_DataInitialize()
{
        string s = mo.strCD;
        mo.PrintReport();
       
        ((TextBox) rpt.Sections["Detail"].Controls["TextBox1"]).Text = mo.strCD;       
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AR_Web_GettingStart
{
    public partial class Module1
    {
      public string strCD;

      public string PrintReport()
      {
            strCD = "我来自C#后台代码";

            return strCD;
      }
    }
}

rwshi 发表于 2015-10-27 14:43:00

问题已经解决,谢谢您的帮助
还有一个问题,请问如果使用RPX的report,可以为header和detail分别绑定不同的数据源么?
如果不可以,那header部分需要绑定几个字段,detail部分需要绑定一个list,该如何实现呢?

frank.zhang 发表于 2015-10-27 17:07:00

您好,

可以使用参数的方式,传递给表头。
detail区域还是绑定一个list。这样实现比较简单,您可以先尝试一下,如果有问题的话,我们可以帮您调试。

rwshi 发表于 2015-10-30 14:51:00

能否提供一个您说的这种解决方案的例子,我尝试过了,但是不成功,如果不指定detail区域的数据源,表头显示没有问题,但是指定了detail数据源后,表头的值就消失了

iceman 发表于 2015-10-30 18:36:00

回复 5楼rwshi的帖子

自定义公式例子请查看:http://blog.gcpowertools.com.cn/post/2015/01/29/ActiveRepots_Use_Expression.aspx

ZenosZeng 发表于 2015-11-2 10:23:00

回复 5楼rwshi的帖子

rwshi 您好

我理解您是要在 RPX 报表中,分别为Header和Detail绑定不同的数据集。

因为RPX本身不支持多数据集绑定,我推荐的做法是通过子报表实现该功能,基本思路如下:
1、将报表数据集的数据放到Header中
2、在Detail中放在子报表控件,用来加载第二个数据集

在ActiveReports 基础教程-绑定数据源中给出了AR三种报表不同数据源的加载方式,和您的这个需求非常接近,您再参考实现过程中如遇到问题,欢迎随时发帖 :)
页: [1]
查看完整版本: 是否可以在Asp.net或MVC项目中,在区域报表的脚本中使用其他自定义类