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

Создание Master-Detail отчета по одному источнику

Добавлено: 31 янв 2007, 13:36
NSG
Помогите, пожалуйста, разобраться с Master-Detail отчетом. По нескольким источникам это легко, но возможно ли сделать это по одному источнику?
К примеру, у меня есть таблица, в которой находятся как элементы данных, так и элементы групп. Мне необходимо каким то образом помещать группы в "шапку", а элементы под ними.
1. Cоздаю связь в источнике на самого себя (ID = Parent).
2. Создаю два DataBand, для основного задаю фильтр Group = true, для подчиненного Group = false.
3. Задаю подчиненному DataBand2 связь и мастер компонент DataBand1, все как в примере :)

Получаем пустой отчет.

Мне даже не удалось сделать подобные действия на демо-примерах, приложенных к дистрибутиву. Например, таблица Employees имеет похожую структуру, т.е. связь на саму себя. Провел с ней подобные действия и получил тоже самое - пустой отчет.

Объясните, пожалуйста - в чем моя ошибка? Или Master-Detail отчет по одной таблице построить невозможмо?

Создание Master-Detail отчета по одному источнику

Добавлено: 01 фев 2007, 04:04
Edward
NSG писал(а):Помогите, пожалуйста, разобраться с Master-Detail отчетом. По нескольким источникам это легко, но возможно ли сделать это по одному источнику?
К примеру, у меня есть таблица, в которой находятся как элементы данных, так и элементы групп. Мне необходимо каким то образом помещать группы в "шапку", а элементы под ними.
1.Вы можете создать 2 одинаковых источника на одни и те же данные, сделать между ними Relation, произвести фильтрацию в databand для отбора нужных значений для мастера и детали. Далее создаете обычную связь Master-Detail.
2. Вы можете использовать источник данных Data from other Data Source. Этот источник позволит Вам произвести группировку Ваших данных на основе одной таблицы и использовать этот источник в качестве Master для Master-Detail (не забывайте про Relation и Report.CacheAllData=true)
3. Если вложенность у Ваших данных больше двух, то Вы можете использовать Hierarchical band (доступен в последних пререлиз билдах).
Для работы с этим бэндом необходимо установить KeyDataColumn = ключ Вашей таблицы, MasterKeyDataColumn = parent Вашей таблицы. ParentValue - корневое (root) значение у структуры Вашего дерева.
Дополнительная информация: http://forum.stimulsoft.com/Default.aspx?g=posts&t=342

Если все Ваши попытки по прежнему тщетны, пришлите подробную инструкцию задачи и xml-данные на Изображение.

Спасибо.

Создание Master-Detail отчета по одному источнику

Добавлено: 01 фев 2007, 06:10
NSG
Благодарю. Вариант 3 с HierarchicalBand действительно работает в моем варианте.

Но у меня сразу же возник еще один вопрос, возможно ли в группе и элементах выводить разные поля??
Допустим, я хочу, чтобы в "шапке", т.е. для групп, выводилось только наименование, а для элементов групп все поля - Наименование, Сумма и пр.

Создание Master-Detail отчета по одному источнику

Добавлено: 01 фев 2007, 06:56
NSG
Также не понятно, происходил ли в HierarhicalBand какая либо автоматическая сортировка данных. Я поставляю в HierarhicalBand данные уже отсортированные мной по необходимым мне условиям, к примеру, по Наименованию. Но выводятся данные в HierarhicalBand в непонятном расположении, т.е. порядок изменён, и даже если я прямо в HierarhicalBand указываю сортировать по Наименованию, данные все равно выводятся в непонятном мне порядке. Поясните, пожалуйста, это, и какие выходы есть из данной ситуации?

Создание Master-Detail отчета по одному источнику

Добавлено: 01 фев 2007, 08:27
Edward
NSG писал(а):Но у меня сразу же возник еще один вопрос, возможно ли в группе и элементах выводить разные поля??
Допустим, я хочу, чтобы в "шапке", т.е. для групп, выводилось только наименование, а для элементов групп все поля - Наименование, Сумма и пр.
В обработчике BeforePrint у DataBand Вы можете изменить значения TextValue у компонентов StiText, которые расположены на этом DataBand.

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

if (Categories.CategoryName=="Condiments")
Text1.TextValue = "one";
else
Text1.TextValue = "two";
Спасибо.

Создание Master-Detail отчета по одному источнику

Добавлено: 01 фев 2007, 08:29
Edward
NSG писал(а):Также не понятно, происходил ли в HierarhicalBand какая либо автоматическая сортировка данных. Я поставляю в HierarhicalBand данные уже отсортированные мной по необходимым мне условиям, к примеру, по Наименованию. Но выводятся данные в HierarhicalBand в непонятном расположении, т.е. порядок изменён, и даже если я прямо в Hierarсhical Band указываю сортировать по Наименованию, данные все равно выводятся в непонятном мне порядке. Поясните, пожалуйста, это, и какие выходы есть из данной ситуации?
Сортировка в HierarchicalBand осуществляется по ключевому полю. Другие поля для сортировки пока недоступны, но эта возможность добавлена в наш to-do список.

Спасибо.

Создание Master-Detail отчета по одному источнику

Добавлено: 01 фев 2007, 10:10
NSG
Спасибо, все получилось.
Могли бы вы сказать, когда ориентировочно вы собираетесь реализовать функциональность HierarhicalBand в части сортировки, так как хотелось бы определиться на каком из вышеописанных способов остановиться в нашем проекте. HierarhicalBand достаточно удобен в использовании и наиболее подходит для нас. Но если для вас его доработка не является приоритетной задачей и сортировка не появится в ближайшем будущем, то нам придется искать другие способы.

Создание Master-Detail отчета по одному источнику

Добавлено: 01 фев 2007, 13:58
Vital
На текущий момент этот бэнд находится в стадии разработки и изучения потенциальных возможностей. Точный ответ мы сможем Вам дать в течение одной недели.

Спасибо.

Создание Master-Detail отчета по одному источнику

Добавлено: 13 фев 2007, 08:27
NSG
Я надеюсь, что вы уже готовы дать более точный отчет по HierarhicalBand ???

Создание Master-Detail отчета по одному источнику

Добавлено: 16 фев 2007, 05:47
Edward
В настоящий момент сортировка для HierarchicalBand невозможна. Поэтому Вам придется остановиться на другом варианте.

Спасибо.