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()); */
留言
張貼留言