Как сделать подотчет / мастер-деталь в отчетах VS Crystal без кликабельности?

Часто я создаю отчеты в Visual Studio Crystal Reports и хочу иметь тип «главный-подробный» или «один-много». Что-то вроде этого:

Invoice Number 13245
   Total: $1,000,000
   Date Raised: 1-Jan-1989
   Date Due: 1-Jan-2019
Line items:
   #   Desc                  Cost
   1   Hat                  23.00
   2   Gloves                7.00
   3   Walking Stick   999,970.00

Я мог бы использовать один набор данных для чего-то столь простого, а затем сгруппировать по «родительским» значениям, но обычно у меня есть несколько типов строк с подробностями, или мне нужен график для записей с подробностями, или по какой-либо причине я хочу иметь два набора данных: один для родительских записей и один для дочерней записи.

Я всегда подходил к этому, основывая отчет на одном наборе данных, добавляя подотчет к отчету и используя другой набор данных для дочерних записей. Это работает нормально и выглядит правильно - то есть, когда я запускаю отчет, я вижу все данные в одном представлении с расширенным разделом деталей, чтобы вместить все записи. Однако подотчет всегда активен, и это моя проблема. Если пользователь нажимает на вложенный отчет, то есть на дочерние записи или график, или что-то еще, что у меня там есть, он попадает во вложенный отчет. Для них это странно, потому что тогда они видят новую «страницу», на которой просто есть детали из этого раздела.

Я действительно хочу, чтобы мой отчет основывался на нескольких наборах данных, как я делаю сейчас с вложенными отчетами, но чтобы пользователь не мог щелкнуть эти вложенные отчеты и изучить их. Я никогда не понимал, как это сделать. Это потому, что я просто неправильно подхожу ко всему, или просто ограничение Crystal Reports, или есть решение?

Я использую Crystal Reports, поставляемый с Visual Studio 2005.


person Rory    schedule 25.10.2009    source источник


Ответы (1)


Двойной щелчок по вложенному отчету всегда открывает вкладку детализации - это особенность продукта.

Вариант 1. Воспользуйтесь функцией детализации и используйте ее для улучшения взаимодействия с пользователями.

Вариант 2. Используйте единый набор данных, который включает подробные сведения о счете и позиции. Сгруппируйте отчет по счету № и поместите итоги в разделе «Заголовок группы». Используйте раздел «Подробности» для отображения позиций. Помните, что у вас может быть несколько разделов, которые могут быть полезны для отображения вашего графика (во втором разделе заголовка группы).

Вы можете подумать о том, чтобы встроить запрос в отчет, а не делать это в коде. Это значительно упростит отчет и ваш код, а также упростит сопровождение отчета и кода.

person craig    schedule 04.11.2009
comment
Для меня это когда они щелкают одним щелчком, а не двойным щелчком. Есть ли способ это изменить? Обычно у меня есть несколько дочерних наборов данных, поэтому, к сожалению, вариант 2 невозможен. Я действительно не понимаю, почему нет возможности отключить детализацию; зачем вам углубляться во что-то только для того, чтобы видеть отображаемую точно такую ​​же информацию. Определенно полезно детализировать, чтобы увидеть больше информации, но если отчет предназначен для разметки на бумаге, это не имеет смысла. - person Rory; 05.11.2009
comment
Невозможно отключить это. Если пользователь углубляется в подотчет (создавая новую вкладку), он может затем перейти к деталям подотчета. Я подозреваю, что поэтому эта функция присутствует. К сожалению, вложенные отчеты не могут быть вложенными (т. Е. Вложенный отчет внутри вложенного отчета). - person craig; 27.09.2011