Средство просмотра SQL Reporting Services для веб-страницы - можно ли переместить кнопку View Report?

Я столкнулся с этой проблемой довольно часто, поэтому я сделал для нее решение JS. Это в основном регулирует высоту domElement по ширине элемента по указанному вами соотношению. Вы можете использовать его следующим образом:

Имейте в виду, что поскольку он устанавливает высоту элемента, элемент должен быть либо display:block, либо display:inline-block.

https://github.com/JeffreyArts/html-ratio-component

5
задан Maksym Gontar 7 March 2009 в 12:41
поделиться

3 ответа

Это своего рода хак, но вы можно переместить в JavaScript. Просто посмотрите, какой HTML-код генерирует ReportViewer, и напишите соответствующий код JavaScript для перемещения кнопки. Я использовал JavaScript, чтобы скрыть кнопку (потому что нам нужна была собственная кнопка View Report). Любой код JavaScript, который управляет сгенерированным HTML-кодом ReportViewer, должен располагаться после элемента управления ReportViewer на странице .aspx. Вот мой код для скрытия кнопки, чтобы дать вам представление о том, что вы будете делать:

function getRepViewBtn() {
  return document.getElementsByName("ReportViewer1$ctl00$ctl00")[0];
}

function hideViewReportButton() { // call this where needed
  var btn = getRepViewBtn();
  btn.style.display = 'none';
}
2
ответ дан 14 December 2019 в 04:52
поделиться

Нет, Вы не можете изменить местоположение кнопки отчета о представлении в управлении ReportViewer.

Однако Вы могли создать свой собственный отчет, просматривающий управление. Управление состояло бы из полей для параметров отчета и кнопки для генерации отчета. Когда пользователь нажимает кнопку, Вы могли генерировать отчет в фоновом режиме. Вы могли отобразить отчет как PDF, HTML, и т.д.

3
ответ дан 14 December 2019 в 04:52
поделиться

Причина, по которой кнопка сдвинута вправо, заключается в том, что td для параметров имеет ширину = "100%". Я решаю эту проблему с помощью следующего jquery. Он просто изменяет ширину параметра td на 1. Браузеры сами расширяют ширину до ширины содержимого элемента. Надеюсь, это поможет.

<script type="text/javascript">
    $(document).ready(function() {
        $("#<%= ReportViewer1.ClientID %> td:first").attr("width", "1");
    });
</script>
2
ответ дан 14 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: