|
如何將Stored Procedure的結果丟到Client端的InfoDataSet呢? |
|
|
這個可以通過一些變通的方法實現 1. 在Server端放一個InfoCommand,sql語句設成跟您存儲過程返回回來的欄位一樣,例如:select 'abc' as f1, 0.0 as f2....from table where 1=0 只是為了取得table的結構而已。 2. 在Client端使用一個InfoDataSet,比如叫Master,就關聯到步驟1的InfoCommand。 3. 按照Report正常設計。 4. 在設定資料來源時,改成如下: if (ret[0].ToString() == "0") { //將返回的內容導入到Master中,這樣就可以用報表顯示出來 Master.RealDataSet.Tables[0].Merge((DataTable)ret[1]); idgStat.DataSource = ret[1];//這個是用於顯示在Gridview上. //再加上下麵兩句,就將報表顯示出來了 this.CrystalReport11.SetDataSource(Master.RealDataSet); crystalReportViewer1.ReportSource = CrystalReport11; } 以上程式,請依據自己的環境適當修改。
|
|
|