打印水晶报表
我們在日常生活中常常會打印很多東西,所以我打算講一下是怎么打印水晶報表的。
打印水晶報表其實和導出差不多,只是有一點不同。打印也用到了多條件查詢,我們也要把數據處理一下。
獲取查詢條件
判斷數據不能為或undefined,然后賦值。
打開下載窗口,拼接查詢到的數據到下載路徑。
這樣視圖的部分就寫完了,控制器那邊我們先創建一個數據源,創建文件夾,然后添加新建項。在打開的窗口的左邊選擇數據,之后在右邊選擇數據集,
改名,然后添加。
打開我們新建的那個東西,右鍵,我們有兩種添加數據源的方法,一種是和數據庫連接。另一種是自己創建數據表。在這里我們選擇第二個DataTable(D),因為我的數據庫沒有我要的表,所以我們要自己創建。添加了之后我們要給表一個名字,然后添加列,添加完列之后我們在列的那里右鍵,屬性,這里很重要,每個字段的數據類型都要和數據庫的一樣,要不然會導不進數據的。
搞完了之后我們要安裝CrystalReportViewer才會有我下面選中的那個選項。
同樣改名,添加。然后它就會彈出一個窗口,我們選擇一個空白的報表,好了后我們在左邊的數據庫字段那里右鍵,然后選中自己創建的那張表。
確定了之后就是設計模板,這我就不說了。我們現在要寫控制器那里了。
先寫多條件查詢,然后篩選(這里不說了)
將查詢出來的數據轉化為DataTable的格式,然后下面又是打印水晶報表的固定寫法了。
1、 實例化數據集
2、 把數據放入數據集中自己創建的那個表格
3、 實例化數據報表
4、 獲取報表的路徑(自己設計的那個模板)
5、 將報表加載到模板中
6、 設置報表的數據源
7、 將報表轉化為文件流輸出
最后返回文件到頁面。
由于上面用到了LINQToDataTable這個方法,所以我們要寫一下,不過也是固定的寫法,它主要是把我們查詢出來的數據傳到這個方法里面,就會返回DataTable的格式。
下面看下這個方法的代碼:
代碼就是這樣了,下次你們用的時候直接復制過去就行了,這時水晶報表已經有數據了,這樣就OK了,打印水晶報表其實并不復雜,大多數多是固定的寫法,我們只要設計好它的模板就行了。
總結
- 上一篇: 安卓菜鸟教程1.0(安卓菜鸟教程)
- 下一篇: 如何写登录验证