Reporting簡單應用

來源:互聯網
上載者:User

      實現:

      1.建立需要的Web項目ReportDemo
      2.建立類庫,提供資料來源List,產生解決方案

    (1).添加類UserInfo.cs      

      public class UserInfo
         {
            public string Id { set; get; }

            public string Name { set; get; }

            public string Age { set; get; }
         }

       (2).提供資料UserOper.cs    

      public class UserOper
         {
            public List<UserInfo> GetList()
            {
                List<UserInfo> lstUserInfo = new List<UserInfo>();

                UserInfo user = new UserInfo();
                user.Id = "3001";
                user.Name = "劉若英";
                user.Age = "20";
                lstUserInfo.Add(user);

                user = new UserInfo();
                user.Id = "3002";
                user.Name = "劉德華";
                user.Age = "24";
                lstUserInfo.Add(user);

                user = new UserInfo();
                user.Id = "3003";
                user.Name = "劉小喜";
                user.Age = "28";
                lstUserInfo.Add(user);

                return lstUserInfo;
            }

            public DataTable GetDataTable()
            {
                DataTable dTable = new DataTable();
                dTable.Columns.Add("編號");
                dTable.Columns.Add("姓名");
                dTable.Columns.Add("性別");
                dTable.Columns.Add("年齡");

                DataRow dRow = null;
                dRow = dTable.NewRow();
                dRow["編號"] = "1001";
                dRow["姓名"] = "張三";
                dRow["性別"] = "女";
                dRow["年齡"] = "23";
                dTable.Rows.Add(dRow);

                dRow = dTable.NewRow();
                dRow["編號"] = "1002";
                dRow["姓名"] = "李四";
                dRow["性別"] = "男";
                dRow["年齡"] = "25";
                dTable.Rows.Add(dRow);

                dRow = dTable.NewRow();
                dRow["編號"] = "1003";
                dRow["姓名"] = "王二";
                dRow["性別"] = "男";
                dRow["年齡"] = "28";
                dTable.Rows.Add(dRow);

                return dTable;
            }
        }
      3.Web項目中添加報表ReportUser.rdlc,

     報表資料-> 建立->資料集(直接選擇建立的類庫) ->

   命名資料集名稱: dsUser1/ dsUser2-> 可用資料集選擇要綁定的集合

    (此樣本示範報表可綁定List泛型集合和DataTable資料) -> 完成

            

       4.報表工具箱,選擇要顯示的報表專案拖到頁面

     ->若要綁定資料直接拖報表資料中繫結資料欄位就可

                  

 

   5.web頁面編寫綁定代碼   

       .aspx:

     <rsweb:ReportViewer ID="rvList" runat="server" Width="100%" Height="100%">
       </rsweb:ReportViewer> 

 

    .cs :

    protected void Page_Load(object sender, EventArgs e)
            {
              if(!IsPostBack) {
                  initialize();
              }
          }

    private void initialize()
          {
              UserOper userOper = new UserOper();
              rvList.LocalReport.DataSources.Clear();

              rvList.LocalReport.ReportPath = @"ReportUser.rdlc";
              //DataSet1與建立報表的資料來源一致,報表資料來源對象的類型必須為

       //System.Data.DataTable、System.Collections.IEnumerable

      //或 System.Web.UI.IDataSource。
              ReportDataSource rdt1 = new ReportDataSource("dsUser1", userOper.GetList());
              ReportDataSource rdt2 = new ReportDataSource("dsUser2", userOper.GetDataTable());

              rvList.LocalReport.DataSources.Add(rdt1);
              rvList.LocalReport.DataSources.Add(rdt2);
              rvList.DataBind();
          }

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.