2008-10-16 2 views
1

1) У меня есть элемент управления ReportViewer на странице, связанной с ServerReport (я использую ASP.NET 2.0). Отчет отображается отлично, но ссылка «Экспорт» присутствует, но отключена, а раскрывающийся список «Выбрать формат» (который обычно отображается при просмотре отчета в службах Reporting Services) отсутствует. Есть идеи? Для свойства ShowExportControls установлено значение true.Управление ReportViewer не позволяет экспортировать

2) Также, когда я нажимаю значок печати в элементе управления ReportViewer, IE спрашивает меня, хочу ли я установить «Microsoft SQL Server». Я нажимаю «Установить», а затем отображает сообщение с сообщением «Невозможно загрузить клиентский контроль печати». Я использую IE7 и Vista.

Большое спасибо,

Энтони

ответ

1

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

Если этот элемент управления еще не установлен на клиентской машине, он загружается и устанавливается, если у вас достаточно прав. Таким образом, это управление правами.

Попробуйте войти в систему как пользователь admin и попробуйте распечатать. Если все будет хорошо, вы можете выйти и войти в систему в качестве стандартного пользователя и снова распечатать. Он работал для нас на XP + IE6 и XP + IE7. Наконец, мы использовали SCCM для установки элемента управления на все машины.

1

Спасибо Biri. Я считаю, что часть 2, вероятно, является проблемой Vista UAC/Admin.

Я нашел решение для части 1 - это не идеально, но он работает. Я обнаружил, что раскрывающийся список «Выбрать формат» был виден в Firefox, но не в IE7. Я просмотрел источник и увидел, что DDL был там в HTML, но ширина была установлена ​​на уровне 96% в встроенном стиле, и по какой-то причине это заставляет DDL быть невидимым!

мне пришлось использовать немного Javascript на моем .aspx странице (после управления ReportViewer):

<script type="text/javascript" language="javascript" > 
    var elem = document.getElementById("ctl00_cphContentPlaceHolder_ReportViewer1_ctl01_ctl05_ctl00") 

    if (elem) { 
     elem.style.width = 160; 
    } 
</script> 

нотабене Я использую мастер-страницы, а DDL находится глубоко внутри элемента управления ASP.NET, следовательно, неприятная строка - вам нужно будет найти идентификатор DDL в вашем коде самостоятельно.

Надеюсь, что это может помочь кому-то!

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