2010-01-13 149 views
1

我有一份报告,我想在其中显示有关某些员工的报告。员工类包含以下属性:对象属性的DevExpress XtraReport数据绑定

public class Employee { 
    public string name; 
    public Branch branch; 
} 

我有员工列表,我将他们绑定到报告列。它在报告表的第一列显示了员工姓名没有任何问题,但在第二列显示了Branch对象的程序集,名称空间等等(当然,由于我绑定了整个Branch对象到那一栏)。

我的问题是:如何显示一列中的员工姓名和另一列中的相应分行名称?

我科类有如下定义:

public class Branch{ 
        public int branchId; 
        public string name; 
}

我加入了一个数据源从工具箱报告类,创建一个XtraReport对象,如下简单地分配一个员工列表:

XtraReport1.DataSource = EmployeeList; 
+0

你将报告绑定到什么地方?雇员作为对象数据源的xpcollection? – 2010-01-14 00:05:14

+0

@SnOrfus:我编辑了我的问题并添加了我的绑定代码 – 2010-01-14 07:48:06

+0

嗯,我有一个临时解决方案。我添加了一个名为“BranchName”的新属性,它从Employee类返回“this.branch.name”。但我认为这不是一件好事。有人可以提出更好的解决方案吗 – 2010-01-14 12:50:04

回答

3

XtraReport对象可以执行子属性绑定。给你的标签文本“[branch.name]”(而不是用设计器下拉选择数据源)。

+0

他们称之为“mailmerge”https://documentation.devexpress.com/#xtrareports/CustomDocument2433并允许在标签上的文本和报表控件之间放置一些字段 – FabianSilva 2015-06-29 12:40:09

1

你可能结合样子:

....DataBindings.Add(new Binding("Text", employee, "branch")); 

更改为

....DataBindings.Add(new Binding("Text", employee.branch, "name"));