Службы отчетов c # .net динамически создают необязательный нижний колонтитул для отчета .rdlc - PullRequest
0 голосов
/ 15 июня 2009

Я уже искал это, и я не нашел ответ, который искал.

Я пишу программу Windows Forms для C # .NET и Visual Studio 2008. Я использую Reporting Services и отрисовываю отчеты с помощью средства просмотра отчетов, предоставленного .net Источником данных для отчетов является SQL Server. Я делаю отчеты локально. Я не использую сервер отчетов. Отчеты представляют собой файлы .rdlc.

Я хотел бы программно добавить нижний колонтитул страницы в отчет (не нижний колонтитул таблицы), основываясь на вводе данных пользователем в форме. Я знаю, как передать параметры в отчет из окна формы. Я не знаю, как использовать эту технику или другую технику для динамического создания или удаления нижнего колонтитула. Когда нижний колонтитул создается на лету, мне нужно добавить текст.

В настоящее время у меня есть постоянный нижний колонтитул с текстовыми полями, которые я заполняю, передавая параметры в средство просмотра отчетов.

List<ReportParameter> parameters = new List<ReportParameter>();

parameters.Add(new ReportParameter("FootnoteLine1", FootnoteLine1.ToString()));

parameters.Add(new ReportParameter("FootnoteLine2", FootnoteLine2.ToString()));

reportViewer1.LocalReport.SetParameters(parameters);

Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 15 июня 2009

Вам нужно научиться использовать VB.NET, чтобы использовать функцию настраиваемого кода служб Reporting Services. Другой вариант - написать выражение, которое возвращает false, когда пользователь не вводит действительный параметр, и true, если пользователь ввел действительный параметр. Это выражение должно быть установлено для поля «Скрыть / Показать» нижнего колонтитула. Это поле должно быть найдено в диалоговом окне «Свойства» нижнего колонтитула или текстового поля.

0 голосов
/ 09 августа 2009

Единственный способ достичь желаемого уровня гибкости во время выполнения - написать код для создания файла .rdlc с нуля. Файлы rdlc - это просто XML, что означает, что для генерации файла могут использоваться классы .net xml. Если пользователю не нужен нижний колонтитул, программа просто не записывает эту часть XML-файла.

В MSDN даже есть учебник о том, как это сделать.

http://msdn.microsoft.com/en-us/library/ms170239.aspx
...