2016-02-16 2 views
0

Я хочу создать отчет, который будет содержать только одну страницу, например, информацию об одном клиенте. Следует отметить, что мне всегда нужно будет показывать информацию об одном клиенте за один раз в отчете. Это означает, что нет сценария, в котором я собираюсь собрать более одного клиента.RDLC: ReportParameter Vs DataSource - что лучше и почему?

В настоящее время я использовал источник данных и привязал его к отчету. Хотя мне нужно передать коллекцию в качестве источника ReportDataSource, в этой коллекции всегда будет один элемент.

Итак, это правильный подход? Должен ли я использовать ReportParameter вместо источника данных? Есть ли недостаток производительности в использовании DataSource? Есть ли преимущества в использовании ReportParameter?

Кроме того, использование DataSource дает мне свободу писать фреймворк, который может принимать входные данные как отчет и сбор, а затем я могу легко сгенерировать отчет. В случае ReportParameter мне нужно будет использовать рефлексию для каждого свойства, а затем создать ReportParameter.

Просьба предложить рекомендуемый подход для этого сценария.

ответ

0

Хорошая деловая практика заключается в том, чтобы иметь параметр, в котором вы указываете, с каким клиентом вы хотите сообщить. В вашем источнике данных вы просто включаете параметр в предложение WHERE. Для SQL Server это будет выглядеть примерно так:

WHERE CUSTID = @CustomerParameter 

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

+0

Спасибо, Стивен за это. –

+0

Вы имеете в виду вместо использования DataSource, создать ReportParameter и назначить ему объект Клиента, а затем связать отчет с ReportParameter? Я сомневаюсь, что мы можем назначить определенный пользователем тип ReportParameter. Если возможно, укажите более подробную информацию. Кроме того, не могли бы вы подробнее рассказать о деловой практике? Справочные ссылки также помогут. Извините, если я прошу слишком много. Мне просто нужна сильная причина использовать ReportParameter вместо DataSource. –

Смежные вопросы