標籤:style blog http os 使用 io strong for 資料
我們在這裡以機房收費系統周結賬單為例,講解一下VS2008報表的製作
建立一個表單,從工具箱中拖一個MicrosoftReportViewer控制項到表單中,點擊MicrosoftReportViewer右邊的小三角,然後選擇設計新報表
選擇已有資料來源或添加新資料來源
我們在這裡添加資料來源
選擇已有串連或建立串連
我們在這裡建立串連,測試連接成功後,選擇確定
之後單擊下一步,選擇資料庫物件,單擊完成
選擇新添加的資料來源,選擇下一步
選種左邊欄位,點擊詳細資料,點擊下一步
點擊下一步,對報表重新命名,點擊完成
我們進入報表設計表單,表單左側會出現工具箱,資料來源,我們還可以通過視圖->工具列,選擇相應的報表菜單。
注意圖中的每個小窗格都是文字框,我們可以自己手動輸入要顯示的文字,也可以根據需要右擊單個文字框,選擇運算式,
注意:選擇函數的返回值和參數的設定資料類型必須一致,否則會出現:報表內部錯誤地提示
我們相應的定義endDate
設計好報表後,關閉設計報表視窗,通過右擊ReportViewer1控制項的小三角,選擇報表來源,選擇後,我們可以看到表單下角的資料庫連接控制項
我們通過右擊文字框選擇運算式來給各個文字框賦值,並對報表進行布局(所見即所得 (WYSIWYG))
我們需要通過使用嚮導配置資料集
我們通過添加或者配置已有的查詢來得到自己想要的資料,然後通過查詢產生器
執行查詢,輸入參數,檢驗查詢語句的正確性
Private Sub btnQuery_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuery.Click begindate = beginDatePicker.Text.Trim enddate = endDatePicker.Text.Trim '報表參數,注意此處的字串“”必須與報表中的參數一致,區分大小寫,否則就會報錯 Dim params() As ReportParameter = {New ReportParameter("AdminName", admin.Name), _ New ReportParameter("beginDate", begindate), _ New ReportParameter("endDate", enddate), _ New ReportParameter("Stime", Format(Now, "HH:mm:ss"))} '接受報表參數 ReportViewer1.LocalReport.SetParameters(params) '利用我們之前利用設計器編輯的資料集中的查詢語句,為我們的報表中載入資料,需要提供查詢語句中的參數 Me.T_WStatement_infoTableAdapter.FillWeek(Me.Room_Charge_SystemDataSet1.T_WStatement_info, begindate, enddate) Me.T_DStatement_infoTableAdapter.FillWeek(Me.Room_Charge_SystemDataSet.T_DStatement_info, begindate, enddate) Me.ReportViewer1.RefreshReport() End Sub
這次報表的製作可謂費時費力,之前看了一篇崔成龍師哥的部落格,其中有"報表資料"一項,可以直接將參數拖到文字框中,可是師哥用的是VS2010啊,我用的VS2008呀,這其中版本有別,參數添加方式同樣有別,現在才知道VS2008是通過右擊文字框通過運算式添加參數的。呵呵,凡事不可鑽牛角尖啊,費時費力還費感情。
VB.Net之旅—報表的製作(RDLC)