Report Viewer 自我修練(二)^______^
上一篇粗略介紹,怎樣快速使用ReportViewer,可是只有淺嘗一下,並未搔到癢處。
本篇就來說說,ReportViewer怎樣讓我們用程式處理報表吧..
大家還記得上一篇中我們建立好的報表吧!
1. 稍微修改一下資料集的SQL,針對 GetData() 點選【設定】,如下圖
2. 在原來SQL 後面多加一個欄位,等下可以拿來計算,接著點選完成。
3. 完成上述步驟後,會發現原來的TableAdpater會多一個欄位Cnt
4. 接著我們到報表設計師,將新產生的欄位拖拉到報表上。
5. 因為初始值Cnt欄位設定零,所以目前為止產生的報表都是0
6. 在Web From.aspx頁面Page_load事件內撰寫入下程式碼
QIS_DBTableAdapters.ProductListPriceHistoryTableAdapter adapter =
new QIS_DBTableAdapters.ProductListPriceHistoryTableAdapter();
//取得資料
QIS_DB.ProductListPriceHistoryDataTable PPHDTB = adapter.GetData();
//針對資料欄位進行處理
PPHDTB.CntColumn.ReadOnly = false;
foreach (QIS_DB.ProductListPriceHistoryRow pRow in PPHDTB)
{
pRow.Cnt = "1";
}
//將處理完的資料繫結到報表上
ReportDataSource rds = new ReportDataSource();
rds.Name = "QIS_DB_ProductListPriceHistory";
rds.Value = PPHDTB;
ReportViewer1.LocalReport.DataSources.Clear();//清空原來資料來源
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.LocalReport.Refresh();
上面CODE只是簡單將原來Cnt的值0改為1,如果要做更複雜的運算也是可以的。
7. 結果如下
從此我們想要做多複雜的報表,都可以嚕^__________^