原創|使用教程|編輯:郝浩|2013-10-18 10:13:19.000|閱讀 287 次
概述:TX Text Control即將發布的X10版本,將升級重點還是放到了其比較優勢的流式布局報表設計和生成上。慧都將揭秘還在測試階段的TX Text Control X10。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
文檔處理控件TX Text Control即將發布的X10版本,將升級重點還是放到了其比較優勢的流式布局報表設計和生成上。慧都獲得了來自其開發商Text Control GmbH公司的一手資料,迫不及待的為大家帶來還在測試階段的TX Text Control X10的獨家揭秘。
直接使用枚舉業務對象作為數據源,來創建合并模板是TX Text Control最常用的需求之一。即將發布的TX Text Control X10使用了一個新方法來實現這一需求,即使用新增的DocumentServer.MailMerge方法和IEnumerable對象。
public void MergeObjects(System.Collections.IEnumerable mergeData);
郵件合并需要將集合中所有對象的公共屬性作為表列和子表,才能正常進行處理。IEnumerable的屬性作為關系能夠自動實例化,并被用于合并塊和嵌套合并塊。
例如一下數據源的類結構:
以下代碼就是上圖UML類設計:
public class Invoice { public List<Product> Products { get; set; } public Customer Customer { get; set; } } public class Product { public Product(string Name, Decimal Price) { this.Name = Name; this.Price = Price; } public string Name { get; set; } public Decimal Price { get; set; } }
現在需要一個報表模板,需要合并塊Products,合并字段是塊中的Name和Price。操作方式如下。
使用以下代碼就能實現創建數據源對象,并使用MergeObjects來開始合并。
Invoice invoice = new Invoice(); invoice.Products = new List<Product>(); invoice.Products.Add(new Product("Apple", 3.55m)); invoice.Products.Add(new Product("Banana", 2.4m)); invoice.Products.Add(new Product("Pineapple", 2.99m)); var invoices = new List<Invoice>(); invoices.Add(invoice); mailMerge1.MergeObjects(invoices);
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網