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()); }
3.子表數據循環為報表【數據源】的記錄數量。解決方案:這里將子報表數據源設置為null即可
Detail.BeforePrint += Detail_BeforePrint;
