Часто я создаю отчеты в 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.