回复 1楼来爱清的帖子
C1Report可以绑定集合类型数据源。
前提是需要定义Collection Object DataSource。
就是说,需要将你的class添加到ObservableCollection中。
举个例子来说明,我有一个Person类。
- public class Person
- {
- public string Title { get; set; }
- public string Name { get; set; }
- public int Basic { get; set; }
- public int Salary { get; set; }
- public string Department { get; set; }
- public string Subject { get; set; }
- }
复制代码
需要声明一个ReportDataSource去实现这个Person类。
- public class ReportDataSource : ObservableCollection
- {
- public ReportDataSource() : base()
- {
- for (int i = 0; i < 400; i++)
- {
- Person p = new Person();
- p.Name = "Name" + i.ToString();
- p.Title = "Mr";
- p.Basic = 10000;
- p.Salary = 20000;
- p.Department = "Department" + i.ToString();
- p.Subject = "Subject" + i.ToString();
- Add(p);
- }
- }
- }
复制代码
最后导入xml文件,创建一个ObservableCollection对象。
- C1Report rpt = new C1Report();
- rpt.Load(@"..\..\SampleReport.xml", "C1Report_ListDataSource");
- ReportDataSource persons = new ReportDataSource();
- rpt.DataSource.Recordset = persons;
复制代码
注意:xml文件中text fields必须和类中的名字一致。 |