• ReportViewer的动态绑定


    aspx页面关键代码 代码

    <body>
      
        
    <form id="form1" runat="server">
         
    <asp:ScriptManager ID="ScriptManager1" runat="server">
        
    </asp:ScriptManager>
        
         
    <uc2:StatementQuery ID="StatementQuery1" runat="server" />
         
         
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="View Report" />
                
    <asp:Button
                    
    ID="Button2" runat="server" Text="Button" onclick="Button2_Click" />
                
    <asp:TextBox ID="txtParameter" runat="server"></asp:TextBox>
        
    <rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt"
                    
    >
                    
    <LocalReport ReportPath="statement/Report_Metal.rdlc" >
                        
    <DataSources>
                            
    <rsweb:ReportDataSource />
                        
    </DataSources>
                    
    </LocalReport>
                
    </rsweb:ReportViewer> 
            


        
    </form>
      
        
    </body>

    C#关键代码

    代码
     private void BindReportViewer()
            {






                BusinessLogic.MetalStatViewCollection MSVCOLL = new BusinessLogic.MetalStatViewCollection();
                MSVCOLL = BusinessLogic.MetalStatViewCollection.getMetalStatViewCollection("year=2009 and month=12 and day=3");
                IList<rMSV> MSVList = new List<rMSV>();
                
    foreach (MetalStatView m in MSVCOLL)
                {
                    MSVList.Add(new rMSV(m.GroupField, m.clientName, m.weight, m.amount));
                }




                ReportDataSource rds = new ReportDataSource("DataSet_Metal_DataTableMetal", MSVList);
                ReportViewer1.LocalReport.DataSources.Clear();
                ReportViewer1.LocalReport.DataSources.Add(rds);
                ReportViewer1.LocalReport.Refresh();
            }

    需要用dataset的XSD文件作为中转。

    详细过程,可以参考:http://www.codeproject.com/kb/aspnet/ReportViewer.aspx 

     以前按照MSDN的指导,有成功使用过动态绑定RDLC,可这次使用到业务对象,并用ObjectDataSource来作为数据源的中转,结果搞了几天,也总是有问题。

    后来,重头来过,不用ObjectDataSource,按codeproject上的简单例子,实现了动态绑定,再将我们要使用的业务对象加上去,通过XSD来中转,一样完成了目标功能。

    http://four-corner.appspot.com/

    http://anforen.5d6d.com/ 

  • 相关阅读:
    成功熬了四年还没死?一个IT屌丝创业者的深刻反思
    史氏语录
    WEB安全攻防学习内容
    从程序员的角度谈创业三年
    Windows2008 R2修改3389端口教程
    Win2008R2 zip格式mysql 安装与配置
    制作支持UEFI PC的Server2008 R2系统安装U盘
    郎科U208(主控 PS2251-50 HYNIX H27UCG8T2MYR)量产还原
    自用有线IP切换
    自动配置IP地址.bat
  • 原文地址:https://www.cnblogs.com/meta/p/1703116.html
Copyright © 2020-2023  润新知