2014-01-31 5 views
0

enter image description hereСкрыть параметр (выпадающее управление на панели инструментов) в SSRS на основе другого параметра

Я использую контроль .NET ReportViewer.

Мы хотим отобразить раскрывающееся меню «Дилер», если пользователь является администратором.

Можно ли скрыть выпадающий элемент «Дилер», основанный на другом переданном параметре, например IsAdmin?

+3

http://social.msdn.microsoft.com/Forums/sqlserver/en-US/eb4a1522-3e4b-4e3f-b215-fff160f66e46/report-parameter-visibility. Кажется, что ответ отрицательный, но вы можете создайте собственную панель параметров и передайте значения переменных с помощью URL. – user3056839

ответ

1

Свойство параметра Hidden может быть только True или False, поэтому вы не можете иметь выражение, которое динамически изменяет видимость.

Однако, что вы можете сделать, это сделать доступными значения параметра @Dealer, основанные на зарегистрированном пользователе. Например, предположим, что каждый пользователь принадлежит дилеру, но администраторы могут видеть всех дилеров. Сделать SQL для доступных значений параметра в @Dealer быть что-то вроде:

SELECT DealerId, DealerName 
FROM Dealers 
WHERE @UserId = 'Admin' 
OR DealerId IN (SELECT DealerId FROM Users WHERE UserId = @UserId) 

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

@UserId является глобальным параметром для текущего пользователя.

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