Страница 1 из 1

Business Objects?

Добавлено: 21 сен 2006, 07:04
wtm
Здравствуйте!
Допустим у нас есть такое:

Код: Выделить всё

public class Item
{
  //  Свойства - ID, Name и прочее
}

public class ItemsCollection : BindingList {}

public class Order 
{
  //Тоже всякие свойства среди которых
  public Items : ItemsCollection;
}

public class OrdersCollection : BindingList {}
Вопрос: возможно ли экземпляр OrdersCollection респечатать в виде мастер-деталь отчета?
Как датасеты печатать вроде разобрался, а тут не знаю даже с какой стороны подойти.

Business Objects?

Добавлено: 21 сен 2006, 08:16
Edward
wtm писал(а):Здравствуйте!
Допустим у нас есть такое:

Код: Выделить всё

public class Item
{
  //  Свойства - ID, Name и прочее
}

public class ItemsCollection : BindingList {}

public class Order 
{
  //Тоже всякие свойства среди которых
  public Items : ItemsCollection;
}

public class OrdersCollection : BindingList {}
Вопрос: возможно ли экземпляр OrdersCollection респечатать в виде мастер-деталь отчета?
Как датасеты печатать вроде разобрался, а тут не знаю даже с какой стороны подойти.
Если я правильно понял, то у Вас создаются 2 отдельных бизнес объекта.
Для создания master-detail отчета Вам необходимо:
1. Зарегистрировать свои объекты через метод отчета RegData()
2. В дизайнере отчета выбрать обьект Report и установить свойство CasheAllData в true.
3. В Report Dictionary создайте Relation между Master Datasource и Detail Datasource.
4. Положите 2 DataBandа на форму отчета и укажите для Detail датабэнда Ваш Relation и в качестве Мастер Компонента Ваш Master DataBand.
Посмотрите пример BusinessObjects из комплекта поставки и http://www.stimulsoft.com/livedemos/Rep ... eport.html
Спасибо.

Business Objects?

Добавлено: 21 сен 2006, 12:04
wtm
В том то и дело что объект один, и у него есть свойство, содержащее коллекцию дочерних объектов.
То есть у каждого главного своя коллекция дочерних.
Надо всего лишь для каждого главного пройтись по ЕГО свойству Items.

Похоже не предусмотрено...

Business Objects?

Добавлено: 21 сен 2006, 14:01
Edward
wtm писал(а):В том то и дело что объект один, и у него есть свойство, содержащее коллекцию дочерних объектов.
То есть у каждого главного своя коллекция дочерних.
Надо всего лишь для каждого главного пройтись по ЕГО свойству Items.

Похоже не предусмотрено...
Именно эта ситуация и рассматривается в примере BusinessObjects из комплекта поставки.
EmployeeIEnumerable (OrdersCollection) - сотрудники
EmployeeIEnumerable.Phones (Order.Items)- телефоны сотрудников
Спасибо.