Master-detail-subdetail вопрос.

Обсуждение Stimulsoft Reports.NET
res562
Сообщения: 28
Зарегистрирован: 26 июл 2010, 13:59

Master-detail-subdetail вопрос.

Сообщение res562 »

Нужно вывести все subdetail, сгруппировав по определенному полю, для отфильтрованных detail.
Иначе говоря поля detail не нужно выводить, нужно лишь отфильтровать и вывести все subdetail одним списком.
как это сделать?
Может есть способ связать Master и subdetail без использования detail?
res562
Сообщения: 28
Зарегистрирован: 26 июл 2010, 13:59

Master-detail-subdetail вопрос.

Сообщение res562 »

Вопрос снимается, все легко оказалоссь:)
Andrew
Сообщения: 586
Зарегистрирован: 09 июн 2006, 12:22

Master-detail-subdetail вопрос.

Сообщение Andrew »

Отлично! Удачного Вам дня!
res562
Сообщения: 28
Зарегистрирован: 26 июл 2010, 13:59

Master-detail-subdetail вопрос.

Сообщение res562 »

Рано радовался. Вопрос поднимается опять.
Как я понимаю, связывать можно только master с detail и detail с subdetail, можно ли связать master c subdetail выводя subdetail одним списком для определенного master?
Aleksey
Сообщения: 2909
Зарегистрирован: 22 апр 2010, 06:57

Master-detail-subdetail вопрос.

Сообщение Aleksey »

Здравствуйте,

Если мы правильно поняли вашу задачу, то да, такое возможно, в данном случае у Вас получается 1 мастер и 2 детаил компонента.
Посмотрите пример отчета в приложенном файле.

Спасибо.
Вложения
Sample Report.mrt
(23.42 КБ) 379 скачиваний
res562
Сообщения: 28
Зарегистрирован: 26 июл 2010, 13:59

Master-detail-subdetail вопрос.

Сообщение res562 »

Не, мне надо по другому.
Если пользоваться вашим примером, то как вывести список customer со списком продуктов, которые они купили за все время(родукты не должны повторяться), общее количество каждого уникального продукта и, например,общую сумму, потраченную на каждый продукт?
Aleksey
Сообщения: 2909
Зарегистрирован: 22 апр 2010, 06:57

Master-detail-subdetail вопрос.

Сообщение Aleksey »

Здравствуйте,
res562 писал(а): то как вывести список customer со списком продуктов, которые они купили за все время(родукты не должны повторяться), общее количество каждого уникального продукта и, например,общую сумму, потраченную на каждый продукт?
Для данной задачи не совсем подойдет мастер-детаил отчет. В данном случае лучше использовать отчет с группировка с использованием связей.
Посмотрите пример в приложенном файле.
А так для каждой конкретной задачи нужно подбирать свои методы (мастер-детаил, отчет с группировками) для получения необходимого результата.

Спасибо.
Вложения
Sample Report.mrt
(24.74 КБ) 364 скачивания
res562
Сообщения: 28
Зарегистрирован: 26 июл 2010, 13:59

Master-detail-subdetail вопрос.

Сообщение res562 »

Aleksey писал(а):Здравствуйте,
res562 писал(а): то как вывести список customer со списком продуктов, которые они купили за все время(родукты не должны повторяться), общее количество каждого уникального продукта и, например,общую сумму, потраченную на каждый продукт?
Для данной задачи не совсем подойдет мастер-детаил отчет. В данном случае лучше использовать отчет с группировка с использованием связей.
Посмотрите пример в приложенном файле.
А так для каждой конкретной задачи нужно подбирать свои методы (мастер-детаил, отчет с группировками) для получения необходимого результата.

Спасибо.
Ясно, спасибо.
А как сделать, чтобы не выводить итог группы, если данных нет?
Aleksey
Сообщения: 2909
Зарегистрирован: 22 апр 2010, 06:57

Master-detail-subdetail вопрос.

Сообщение Aleksey »

Здравствуйте,

В конструкции типа GroupHeader-Data-GroupFooter, если нет данных, они не отображаются.
Если используются более сложные конструкции, то необходимо будет использовать выражения, где определять выводить или нет GroupFooter.
Например в событие "Before Print" компонента GroupFooterBand :

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

if (Totals.Sum(GroupHeaderBand1,Products.UnitPrice) == 0)
{
	GroupFooterBand1.Enabled = false;
}
Спасибо.
res562
Сообщения: 28
Зарегистрирован: 26 июл 2010, 13:59

Master-detail-subdetail вопрос.

Сообщение res562 »

Ясно. Но способ приведенный вами выше не совсем подходит для меня.

Опишу что конкретно нужно:
Имеется иерархия таблиц от родителя в потомку:

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

Report0
   |
   ->Report0_batch1
           |
           ->Report0_batch1_batch2
                 |
                 ->Report0_batch1_batch2_batch3
                 ->Report0_batch1_batch2_batch4
                 ->Report0_batch1_batch2_batch5
Необходимо вывести Report0 и для каждой его строчки
вывести Report0_batch1_batch2_batch3, сгруппированные по определенному полю,
Report0_batch1_batch2_batch4, сгруппированные по определенному параметру,
Report0_batch1_batch2_batch5, сгруппированные по определенному параметру.


Сейчас делаю так:
Создаю бэнд Report0 и бэнды с группировкой Report0_batch1_batch2_batch3,Report0_batch1_batch2_batch4,Report0_batch1_batch2_batch5
Для бэндов Report0_batch1_batch2_batch3,Report0_batch1_batch2_batch4,Report0_batch1_batch2_batch5 ставлю мастер бэнд Report0.
Делаю фильтр для бэндов Report0_batch1_batch2_batch3(4,5)
Report0_batch1_batch2_batch3(4,5).Report0_batch1_batch2.Report0_batch1.Report0.batchid==Report0.batchid
Вот здесь где-то у меня ошибка, т.к. ничего не выводится. Как правильно отфильтровать?

Или может по другому как-то сделать?
Идельно было бы связать Report0 и Report0_batch1_batch2_batch3(4,5), но связывать можно только родителя и потомка.
Ответить