介紹Visual Studio 2005插件相關問題
首先,我認為這是一個很有用的插件,如果繼續得到改進和增強,我想該插件會被更多開發者使用。對于Visual Studio 2005插件源碼的學習,對于我們掌握怎樣正確創建Visual Studio 2005插件工程是很有幫助的,而且也可從中學到不少編程技巧,例如委托和模板方法。希望大家一起研究下
***部分 完全用控制綁定數據源
1. 建立水晶報表,注意報表要用OLE DB ADO方式連接數據源,這樣可以省去報表登錄窗口的彈出。
2. 在設計視圖中拖拉報表控件CrystalReportViewer,點擊右上角智能標簽設置報表數據源,選擇報表文件,自動生成CrystalReportSource,這時在設計視圖中將顯示出報表界面,水晶報表將自動用初始數據填充報表字段。注意這里有個小Bug,如果報表在子目錄中,選擇報表文件將自動用相對路徑表示,這時報表顯示會出錯,應改成絕對路徑才可以。
<Report FileName="report\rptOrder.rpt">這里應改成:<Report FileName="..\report\rptOrder.rpt">
3.拖拉一個數據源控件SqlDataSource(也可以用ObjectDataSource),Visual Studio 2005插件按向導生成數據源,這里可以篩選數據,根據情況選擇各類數據源。 #t#
4.如何將CrystalReportSource與SqlDataSource兩個控件連接在一起呢?可以這樣:選擇CrystalReportSource控件點擊右側屬性中數據欄,再點擊Report選擇DataSource,在這個數據源集合編輯器選擇數據源指定報表名稱即可。(下面的Parameters是用來選擇報表參數用的)
另外可以參照http://xy229935.spaces.live.com/ Visual Studio 2005插件下面的第二部分即是它的精華。
第二部分 用代碼綁定數據源
采用推模式,Visual Studio 2005插件可利用上面已經設計好的報表格式,用DateTable來作為CrystalReportViewer的數據源,這樣更靈活.此時可以刪除上面的CrystalReportSource和SqlDataSource.具體代碼如下(注意要采用OLEDB的連接方式):
- DataTable DS = new DataTable();
- string myConn = System.Configuration.ConfigurationSettings.AppSettings["Test_OLE"];
- OleDbConnection myConnection = new OleDbConnection(myConn);
- string strSql = "select * from talbe1";
- OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(strSql, myConnection);
- myDataAdapter.Fill(DS);
- CrystalDecisions.CrystalReports.Engine.ReportDocument CrystalReportSource;
- CrystalReportSource = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
- CrystalReportSource.Load(Server.MapPath("..\\query\\CrystalReport_kqhz.rpt"));
- CrystalReportSource.SetDataSource(DS);
- this.CrystalReportViewer1.ReportSource = CrystalReportSource;
- this.CrystalReportViewer1.DataBind();


















