代码之家  ›  专栏  ›  技术社区  ›  Vikas

中的Reportviewer数据源asp.net-mvc公司

  •  6
  • Vikas  · 技术社区  · 16 年前

    如何集成 ReportViewer 在asp.netMVC项目?

    我要添加的业务对象 MVCProject.Model 命名空间。 控件 允许数据集的业务对象。

    是否可以选择其他数据源,如 LinqDataSource

    在MVC项目中添加报表的最佳解决方案是什么?

    4 回复  |  直到 10 年前
        1
  •  2
  •   Shiraz Bhaiji    15 年前

    另一种方法是在报表服务器上生成报表,然后以PDF格式流式传输到mvc应用程序。

        2
  •  2
  •   Hesham Desouky    15 年前

    1-将报表查看器控件置于标准中ASP.Netweb表单页面(例如。报表查看器.aspx) 2-在MVC下,添加一个引用报表查看器.aspx页码

    让我知道这是否有效

        3
  •  1
  •   Matt Hinze    16 年前

    会很艰难的。首先,您需要ViewState,这样您就需要在一个常规的WebForms页面中托管报表。不过,这也不算太糟——WebForms和MVC可以很好地并肩工作。

    困难的部分是绑定到真正的IEnumerable对象,而不是那些虚假的胡说八道的objectdatasource。

    第一步是建立报表数据模型。你可以用代码,用查询,任何你想要的方式来做。像这样(但显然要大得多)的结构是典型的:

    public class ReportSource
    {   
       public Floogle[] Floogles { get; set; }
    }
    
    public class Floogle
    {
        public Doodad[] Doodads { get; set; } 
        public string Text { get; set; }
    }
    
    public class Doodad
    {
        public int Number { get; set; }
    }
    

    诀窍是在报表中使用BindingSource控件并将DataSource属性设置为 typeof(ReportSource) -是的,数据源是报表模型的类型。

    在设计你的报告时,你不会得到太多的丰富,但你可以做到。

    就第三方报告解决方案而言,我们发现Telerik是最好的选择。

        4
  •  0
  •   James Fleming    15 年前

    我在codeplex上有一个小项目,它是一个有报告的mvc项目。

    http://mvctaskmanagement.codeplex.com/

    从那里,我通过ajax调用我的报告,然后将参数发送到报告页面,然后将其传递到用于生成预览的同一个服务层。

    祝你好运!