Часто я создаю отчеты в Crystal Reports в Visual Studio и хочу иметь мастер-деталь или тип 1-много. Примерно так:
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.