Можно ли встраивать JavaScript в отчет SSRS? - PullRequest
5 голосов
/ 25 апреля 2009

Отчеты SQL Server могут встраивать vbscript и выполнять на стороне клиента, но можно ли сделать то же самое с javascript? Я думаю, что было бы полезно использовать jQuery и клиентскую часть манипулирования CSS для создания более интерактивного опыта детализации.

Ответы [ 6 ]

3 голосов
/ 25 апреля 2009

Мне кажется, что Reporting Services - неподходящий интерфейс для вашей работы. Файлы RDL (определение отчета) в основном XML. Я не знаю, как добавить код в XML.

Если вы считаете выходные данные RDL своими "данными", то в действительности не имеет смысла размещать здесь какое-либо поведение. Вместо этого вы можете захотеть создать внешний интерфейс, который может использовать итоговый вывод отчета, а затем предоставить необходимый вам опыт.

3 голосов
/ 25 апреля 2009

Речь идет о службах отчетов SQL Server?

Если это так, я никогда не видел способа сделать это. Я признаю, что это понятие заставляет мою кожу ползти.

Редактировать

Вот небольшой пример использования JavaScript для открытия отдельного окна в гиперссылке.

Эта статья блога может содержать еще более полезную информацию о некоторых интересных методах JavaScript в службах отчетов.

2 голосов
/ 26 сентября 2013

Может быть поздно ответить, но это поможет другим

http://direit.wordpress.com/2012/07/24/ssrs-use-custom-javascript-to-call-a-report-in-a-new-tabwindow/

1 голос
/ 14 декабря 2010

Я знаю, что это старый пост, но что-то вроде этого работает нормально

= "javascript: void (window.open ('https://" + Параметры! ServerName.Value +" /ReportServer/Pages/ReportViewer.aspx?%2f "+ Параметры! Environment.Value +"% 2fSSRS + Reports% 2fReports% 2fVE% 2fMy + Отчеты% 2fData + Посмотреть% 2fReport + Имя% 2f60-Your-Report и RS: Command = Render», '_ пустым'))"

0 голосов
/ 30 апреля 2016

Вот конкретный пример, когда и почему я часто использую JavaScript в SSRS. В отчетах SSRS желательно иметь гиперссылки на веб-службы или другие приложения вне SSRS. В приведенном ниже примере поле «ссылка» создается в SQL и используется в отчете SSRS для создания гиперссылки на MS Dynamics CRM для конкретной возможности конкретного отведения.

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

   ,case
        when @@SERVERNAME like '%CF-PROD%' then 'http://cf-prod-crm01:5559/crm.ashx?id=' + CAST(c.OpportunityID as varchar(36))
        when @@SERVERNAME like '%CF-STG%' then 'http://cf-stg-crm01:5559/crm.ashx?id=' + CAST(c.OpportunityID as varchar(36))
        when @@SERVERNAME like '%CF-QA%' then 'http://cf-qa-crm01:5559/crm.ashx?id=' + CAST(c.OpportunityID as varchar(36))
        when @@SERVERNAME like '%CF-DEV%' then 'http://cf-dev-crm01:5559/crm.ashx?id=' + CAST(c.OpportunityID as varchar(36))
        END AS 'CRMOpportunityLink'

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

В отчете, таком как SSRS, вы можете создать гиперссылку с помощью Javascript в области действий в TextBox, выбрать «Перейти к URL» и вставить следующее:

"javascript:void(window.open('" + Fields!CRMOpportunityLink.Value + "','_blank'))")
0 голосов
/ 29 апреля 2016

У меня есть важное примечание к этому сообщению: если вы попытаетесь протестировать javascript в отчете SSRS с помощью PREVIEW в Visual Studio (BIDS), он НЕ будет работать в режиме предварительного просмотра, но после развертывания отчета реальный сервер отчетов, тогда javascript будет работать при просмотре отчета в веб-браузере. Это вызвало у меня большую путаницу, и я надеюсь избавить некоторых других от неприятностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...