• ReportViewer作弊条


    在MVC项目中使用ReportViewer

    创建WebForm,向Webform中添加ReportViewer控件,通过CodeBehind设置报表参数并填充数据,测试通过后在MVC的View中iFrame新创建的WebForm

    在MVC项目中使用使用DbContext作为ReportViewer的数据源

    在MVC项目内部新建Report.rdlc后,发现不能选择Object(DbContext)作为数据源。网上找到的一个解决办法是:在同解决方案中新建另一个非Web的项目,如WinForm项目。在WinForm项目添加对Web项目及其他相关项目的引用,之后用向导创建rdlc,创建时会看到选择数据源的选项中有Object选项了,"下一步"后就可以选择相应的对象作为数据源,如MyProject.Models.Product,创建好数据源,记下设定的数据集(DataSet)的名称(如dsProduct)。保存。将在此生成的rdlc文件复制到主Web项目中进行报表设计

    以下是生成并填充报表数据的代码,注意代码中用到的数据源名称必须与之前创建RDLC的时候所记下的DataSet名称一致,即下面例程中的dsProduct:

                    string path = Path.Combine(Server.MapPath(@"Rdlc"), "MyReport.rdlc");
                    ReportViewer1.ProcessingMode = ProcessingMode.Local;
                    ReportViewer1.LocalReport.ReportPath = path;
                    MyProductBusiness business = new MyProductBusiness();
                    List<Product> records = business.Search().Take(100).ToList();
                    ReportDataSource rptDataSource = new ReportDataSource("dsMyProduct", records);
                    ReportViewer1.LocalReport.DataSources.Add(rptDataSource);

    ReportViewer控件版本为V11.x.x.x,但是项目添加引用"Microsoft.ReportViewer.Webform.dll"时只有V10.x.x.x和V9.x.x.x显示在列表中

    用Nuget,找到MicosoftReportViewerWebForms_v11并添加,Nuget显示版本为1.0.1,但是这只是此Nuget包的版本,实际ReportViewer的版本是11.0.0.0

    PM> Install-Package MicosoftReportViewerWebForms_v11

    使ReporViewer在Webform中的高度和宽度为100%

    <rsweb:ReportViewer ID="ReportViewer1" runat="server" Height="100%" Width="100%" AsyncRendering="False" SizeToReportContent="True" ......>
    </rsweb:ReportViewer>

  • 相关阅读:
    java NIO ;mvn
    查询mysql当前连接数
    lifecycle of opensource products--x86-64
    docker squid---but git proxy should specify by git config --global http.proxy http:...
    java jmx
    zabbix basic concept
    智能手机,医疗诊断,云会议(gotomeeting/citrix)
    子网划分
    Cloudstack4.2之改变数据卷容量的大小(Resize Data Volumes)
    OCFS2 Fencing
  • 原文地址:https://www.cnblogs.com/heuyang/p/5508292.html
Copyright © 2020-2023  润新知