TX Text Control X10独家揭秘之使用对象作为数据源

TXTextControl X10版本强化了流式布局报表设计与生成能力,新引入DocumentServer.MailMerge方法及IEnumerable对象,简化了直接使用业务对象作为数据源创建合并模板的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文档处理控件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);

TX Text Control最新版官方推荐下载地址

转载于:https://my.oschina.net/u/1381795/blog/169753

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值