Привязка данных 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;

person MD Sayem Ahmed    schedule 13.01.2010    source источник
comment
К чему вы привязываете отчет? xpcollection с сотрудником в качестве источника данных объекта?   -  person Steven Evers    schedule 14.01.2010
comment
@SnOrfus: я отредактировал свой вопрос и добавил код привязки   -  person MD Sayem Ahmed    schedule 14.01.2010
comment
Что ж, у меня есть временное решение. Я добавил новое свойство с именем BranchName, которое возвращает this.branch.name из класса Employee. Но я думаю, что это не очень хорошо. Может ли кто-нибудь предложить лучшее решение?   -  person MD Sayem Ahmed    schedule 14.01.2010


Ответы (2)


Объекты XtraReport могут выполнять привязку вложенных свойств. Дайте вашей метке текст «[branch.name]» (вместо того, чтобы выбирать источник данных в раскрывающемся списке конструктора).

person Tom Mayfield    schedule 21.01.2010
comment
они называют это mailmerge documentation.devexpress.com/#xtrareports/CustomDocument2433 и позволяют поместить некоторые поля между текстом на этикетках и элементами управления отчетом - person FabianSilva; 29.06.2015

ваша привязка, вероятно, выглядит так:

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

изменить его на

....DataBindings.Add(new Binding("Text", employee.branch, "name"));
person Steven Evers    schedule 14.01.2010