Sql сервер отчетов службы выбора текста - PullRequest
3 голосов
/ 16 ноября 2009

Я использую ssrs с элементом управления winforms ReportViewer для отображения отчетов для моих пользователей. Иногда они хотят выбрать часть текста, который выводит отчет. Но элемент управления ReportViewer не дает нам этой способности, он просто отображает текст. Есть ли какое-либо свойство, которое я могу изменить в отчете .rdl, или какое-либо свойство в элементе управления ReportViewer, которое дало бы мне эту способность.

Я пытался гуглить, но ничего не могу найти.

Любая помощь будет принята с благодарностью. :)

Ответы [ 2 ]

0 голосов
/ 30 августа 2016

Одним из возможных решений является создание своего собственного элемента управления ReportViewer.

Шаг 1 Используйте SOAP Reporting Services для запроса ваших каталогов, поиска ваших отчетов, их параметров и допустимых значений, значений по умолчанию и т. Д.

Некоторые отправные точки:

Документация (для последней версии)

Другой вопрос SO

Шаг 2 Затем предложите своим пользователям базовый интерфейс для выбора параметров. Возможно, вам придется создать это самостоятельно, но с небольшими навыками, это делается за пару часов, может быть, вы сможете найти образцы.

Шаг 3 Создайте URL-адрес ReportServer, необходимый для запроса отчета с выбранными значениями параметров, и получите отчет в формате MHTML из служб отчетов Url Access. Это позволяет получить весь отчет в виде одного куска без необходимости извлекать, например, диаграммы или любые другие изображения впоследствии с сервера. Результат может быть легко добавлен в элемент управления веб-браузера, и вы можете выбрать контент.

Пример:

var partialPath = System.Web.HttpUtility.UrlEncode(RelativeReportPath);
//RelativeReportPath is sth. like /YourFolder/YourReportName
var fullPath = string.Format("http://YourReportSereverDNS/ReportServer?{0}&rs:Command=Render&rc:Toolbar=false&rs:Format=MHTML", partialPath);
var client = new RestClient(fullPath);
client.Authenticator = new HttpBasicAuthenticator(@"domain\user", "SuperSecretPassword");
var request = new RestRequest(Method.GET);
var response = client.Execute(request);
//then throw response.Content into a Webbrowser Control in your winforms

Удачи (если вам или кому-то еще это интересно): -)

0 голосов
/ 16 ноября 2009

Вы можете разрешить им экспортировать отчет в виде файла PDF или EXCEL, что должно дать им все содержимое

...