LocalReport with Visual Studio 2012

新增一個資料集,創造在RDLC報表中所要的欄位名稱



建立後在該視窗按右鍵 ---> 加入 ---> DataTable


在上方DataTable1的部分點兩下可改其名稱
下方則按右鍵---> 加入 ---> 資料行


完成RDLC檔所要的表格名稱

在報表檔(RDLC)中"報表資料"視窗 底下的資料集按右鍵 ---> 加入資料集


設定資料名稱(在cs中會用到)
資料來源選擇剛建立的資料即名稱

將需要的欄位放入資料表

.cs
 DataTable dt = new DataTable();
 dt.Columns.Add("號碼");
 while (dr.Read())
              {
                  DataRow d = dt.NewRow();            //創造資料列
                  d["號碼"] = dr["號碼"].ToString();
                  dt.Rows.Add(d);
                  }

              ReportViewer1.LocalReport.ReportPath = "Report1.rdlc";   設定報表路徑
              ReportViewer1.LocalReport.DataSources.Clear();            
              ReportDataSource rds = new ReportDataSource("DataSet1", dt);
                 ReportDataSource(前面為剛所建立的資料集名稱,後面為DataTable資料型態,將得到的資料與資料集做對應)
              ReportViewer1.LocalReport.DataSources.Add(rds);
              ReportViewer1.Visible = true;
              ReportViewer1.LocalReport.Refresh();



------------------------------------  


------------------------------------    
取多筆    
while (dr.Read())
              {
                  DataRow d = dt.NewRow();
                  for (int i = 0; i < 欄位名稱陣列長度; i++)
                  {      
                      d[欄位名稱陣列[i]] = dr[欄位名稱陣列[i]].ToString();

                  }
                  dt.Rows.Add(d);


---------------------------------------
foreach 迴圈方式
                  /*
                 //ColumnName為欄位名稱陣列

                  DataRow drMain = dt.NewRow();
                  foreach (DataColumn dc in dt.Columns)
                  {
                      string strCname = dc.ColumnName;
                      drMain[strCname] = dr[strCname].ToString();
                  }
                  dt.Rows.Add(drMain);
                  //dt.Rows.Add(dr["號碼"].ToString()); */

留言

這個網誌中的熱門文章

SQL SEVER備份與還原遭遇問題

asp.net頁面間傳值