Report Viewer 自我修練(二)

Report Viewer 自我修練(二)^______^

上一篇粗略介紹,怎樣快速使用ReportViewer,可是只有淺嘗一下,並未搔到癢處。

本篇就來說說,ReportViewer怎樣讓我們用程式處理報表吧..

大家還記得上一篇中我們建立好的報表吧!

1. 稍微修改一下資料集的SQL,針對 GetData() 點選【設定】,如下圖

1

 

2. 在原來SQL 後面多加一個欄位,等下可以拿來計算,接著點選完成。

2

3. 完成上述步驟後,會發現原來的TableAdpater會多一個欄位Cnt

4

4. 接著我們到報表設計師,將新產生的欄位拖拉到報表上。

5

5. 因為初始值Cnt欄位設定零,所以目前為止產生的報表都是0

6

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. 結果如下

7

從此我們想要做多複雜的報表,都可以嚕^__________^