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