DevExpress 用戶自定義報表之一


 1.簡單介紹

  鑒於產品最終出口或者外賣都需要打印質量保證書。產品質量保證書中應該包含【訂貨信息】、【產品信息】、【產品質量信息】、【統計信息】。當然考慮到是否會出口,還要考慮本地化。本人感覺,這個本地化可以模仿andriod的本地化 采用配置文件,找專業人員翻譯顯示信息,然后通過配置文件加載即可。

 由於客戶要求要實現可配置的質保書模塊。因為想到了DEV的GridControl控件 可以對Grid的列和表頭進行自定義配置和修改【這里以后會從配置文件默認加載】也就是未來可以通過該處實現本地化。

 DevExpress Report 可以將winform 控件 拖入到報表設計模版中【當然我這里是復制】。完成報表設計。

2.實現過程

 實現過程的問題以及解決方案

 1.GridControl的自定義配置 這里就不再解釋 主要是通過GridControl的方法和屬性完成xml配置信息的存儲

 2.報表設計完成后,個人感覺比較煩人的問題就是將GridControl實現Report中主細表的綁定效果(即主細循環)。因為當GridControl綁定后 數據源就算固定了。但是在Report中,應該將GridControl設想為類似於Lable的一種控件,當然它不是。

 解決方案:在Report已經綁定數據源的情況下,同時自己也情況應該主表和附表的聯系。

通過該委托或者說事件【Detail.BeforePrint += Detail_BeforePrint】完成GridControl的數據源綁定操作

void Detail_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
        {
            xrLabel2.Text = GetCurrentColumnValue("NAME").ToString();
            this.gridControl2.DataSource = GetData(GetCurrentColumnValue("NAME").ToString());
        }
View Code

3.子表數據循環為報表【數據源】的記錄數量。解決方案:這里將子報表數據源設置為null即可

 

 

Detail.BeforePrint += Detail_BeforePrint;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM