2014-12-06 25 views
5

Tôi đã tạo "Dự án máy chủ báo cáo" mới trong VS2013 .Net 4.5. Tôi đã thêm nguồn dữ liệu và kết nối thử nghiệm thành công. Tôi đã thêm một Số liệu bằng cách sử dụng tùy chọn "Sử dụng tập dữ liệu được nhúng trong báo cáo của tôi", chọn nguồn dữ liệu đã tạo trước đây. Kiểu truy vấn được lưu trữ thủ tục với một tham số văn bản duy nhất. Trong hộp dữ liệu báo cáo, tôi có thể nhấp chuột phải vào DataSet của tôi, chọn Query và thực thi sproc. Tôi thấy một mạng lưới được điền chính xác với dữ liệu của tôi.Gặp sự cố khi xem trước báo cáo

Tuy nhiên, khi tôi cố gắng tạo và xem trước báo cáo không thành công. Tôi làm như sau:

Thêm báo cáo mới. Thả bảng trên đó từ hộp công cụ. Bắt đầu kéo các trường từ DataSet của tôi lên bảng. Khi tôi nhấn xem trước tôi nhìn thấy sau

enter image description here

+0

Tôi đã thử ví dụ sau và dường như không gặp sự cố "thời gian". http://www.rajbandi.net/replacing-report-viewer-date-parameter-default-date-picker-with-jquery-ui-date-picker/ – goroth

+0

Bạn đang sử dụng phiên bản IE nào? Tôi có IE 11 và Chrome 39 và họ dường như làm việc miễn là ngày có một thời gian 12:00 vào cuối. Trong IE bạn có thể nhấn F12 và sau đó theo giả lập thử sử dụng một chuỗi "User agent" khác nhau và xem phiên bản IE nào không hoạt động cho bạn? Thông thường tôi có vấn đề ngược lại khi IE hoạt động nhưng Chrome thì không. Trước đây tôi phải làm điều này để Chrome hoạt động http://www.rajbandi.net/fixing-ssrs-report-viewer-control-date-picker-in-google-chrome/#comment-1484 – goroth

+0

Công việc xung quanh mà bạn có thể làm là đặt ReportViewer.ShowParameterPrompts = False và sau đó sử dụng datepicker tùy chỉnh của bạn để đặt tham số báo cáo như - ReportViewer..SetParameters ("yourParameter") theo cách này trang web của bạn là một trong những điều khiển các tham số và không được xây dựng trong SSRS "xấu xí" tham số. – goroth

Trả lời

3

This is a "hack" nhưng nó sẽ làm những gì bạn đang yêu cầu.

<%@ 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> 

Thay thế "ReportViewer1" với tên của người xem báo cáo của bạn.
Điều này về cơ bản sẽ kiểm tra tất cả các trường nhập bên trong bảng tham số báo cáo và nếu bất kỳ trường nào trong số chúng giống như ngày thì nó sẽ loại bỏ thời gian trong khi tải.

EDIT
Đã thêm toàn bộ mã trang.

+0

đã thêm toàn bộ mã trang. Không có mã phía sau. – goroth

+0

Bạn đã cố gắng di chuyển mã từ các fixParameters vào trình nạp trang và sau đó xóa hàm fixParameters? – goroth

+0

Tôi nghĩ bạn không muốn dấu thời gian? – goroth

Các vấn đề liên quan