2014-12-06 3 views
5

Я создал новый «Проект сервера отчетов» в VS2013 .Net 4.5. Я добавил источник данных, и тестовое соединение успешно завершено. Я добавил DataSet, используя параметр «Использовать набор данных, встроенный в мой отчет», выбрав источник данных, который был создан ранее. Тип запроса - хранимая процедура с единственным текстовым параметром. В окне данных отчета я могу щелкнуть правой кнопкой мыши мой DataSet, выбрать Query и выполнить sproc. Я вижу, что сетка правильно заполнена моими данными.Имея проблемы с предварительным просмотром отчетов

Однако, когда я пытаюсь создать и просмотреть отчет, он терпит неудачу. Я делаю следующее:

Добавить новый отчет. Откажитесь от стола на панели инструментов. Начните перетаскивать поля из моего DataSet на стол. Когда я ударил просмотра я вижу следующее

enter image description here

+0

Я попробовал следующий пример и, похоже, не имел проблемы с «временем». http://www.rajbandi.net/replacing-report-viewer-date-parameter-default-date-picker-with-jquery-ui-date-picker/ – goroth

+0

Какую версию IE вы используете? У меня IE 11 и Chrome 39, и они, похоже, работают до тех пор, пока дата заканчивается в 12:00. В IE вы можете нажать F12, а затем под эмуляцию попытаться использовать другую строку «Пользовательский агент» и посмотреть, какие версии IE не работают на вас? Обычно у меня есть обратная проблема, когда IE работает, но Chrome этого не делает. Я должен был сделать это в прошлом, чтобы заставить Chrome работать http://www.rajbandi.net/fixing-ssrs-report-viewer-control-date-picker-in-google-chrome/#comment-1484 – goroth

+0

Работа вокруг которого вы можете сделать это, установите ReportViewer.ShowParameterPrompts = False, а затем используйте свой настраиваемый датпикер для установки параметра отчета, например - ReportViewer..SetParameters («yourParameter»), таким образом ваша веб-страница контролирует параметры, а не встроенную в SSRS «уродливые» параметры. – goroth

ответ

3

Это является «HACK», но он будет делать то, что вы просите.

<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication24._Default" %> 

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 

    <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-2.1.1.js"></script> 

    <script type="text/javascript"> 
     $(document).ready(function() { 
      Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(pageLoadingHandler); 

      function pageLoadingHandler() { 
       fixParameters(); 
      } 

      function fixParameters() { 
       $("table[id^='ParametersGridReportViewer1']").find('input[type=text]').each(function() { 
        if (isDate($(this).attr("value"))) { 
         $(this).val($(this).val().substring(0, 10)); 
        } 
       }); 
      } 

      function isDate(date) { 
       return ((new Date(date) !== "Invalid Date" && !isNaN(new Date(date)))); 
      } 

     }); 
    </script> 


</head> 
<body> 

    <form id="form1" runat="server"> 
     <div> 
      <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 

      <rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt" ProcessingMode="Remote" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt" Width="1184px" ShowParameterPrompts="True"> 
       <ServerReport ReportPath="/Report Project1/Report1" /> 
      </rsweb:ReportViewer> 

     </div> 
    </form> 
</body> 
</html> 

Заменить "ReportViewer1" с названием вашего просмотра отчетов.
В основном это проверит все поля ввода внутри таблицы параметров отчета, и если какой-либо из них будет выглядеть как даты, тогда он будет удалять время во время загрузки.

EDIT
Добавлен полный код страницы.

+0

добавил весь код страницы. Кодекса нет. – goroth

+0

Вы пытались переместить код из fixParameters в pageloadinghandler, а затем удалить функцию fixParameters? – goroth

+0

Я думал, что тебе не нужна метка времени? – goroth

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