SSRS date-picker is invisible in Google Chrome, not working in Opera/IE?

前端 未结 4 1036
别跟我提以往
别跟我提以往 2020-12-30 06:34

I\'m integrating SSRS reports(developed in VS 2008 vs. 9.0 ), and when I load it into the browser with Chrome, I get this:

相关标签:
4条回答
  • 2020-12-30 07:13

    The supposedly dead link (rajbandi.net) was accessible at the time of writing this post; I'm putting its contents here for use if the link is down again:


    Fixing SSRS Report Viewer control date picker in Google chrome
    Author: Raj Bandi
    April 3, 2012
    https://rajbandi.net/2012/04/03/fixing-ssrs-report-viewer-control-date-picker-in-google-chrome/

    SSRS Report Viewer control works well in IE6+ but has some known compatibility issues with other major browsers(Firefox, Chrome etc.) around date picker and print button.

    For more information read this

    http://msdn.microsoft.com/en-us/library/ms251673.aspx

    I am presenting a simple solution to fix date picker issue in Chrome with a combination of some server side code and Client side JQuery script.

    Server Side Code

    1) Add the below code in the page/control file in which the reportviewer control resides

    <asp:HiddenField ID="DatePickers" runat="server" />
    

    2) Add the below code in the code behind file of page/control in which the reportviewer control resides(.Net 2.0 version)

    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);
        DatePickers.Value = string.Join(",",(new List(GetDateParameters()).ToArray()));
    }
    private IEnumerable GetDateParameters()
    {
        // I'm assuming report view control id as reportViewer
        foreach (ReportParameterInfo info in reportViewer.ServerReport.GetParameters())
        {
            if (info.DataType == ParameterDataType.DateTime)
            {
                yield return string.Format("[{0}]",info.Prompt);
            }
        }
    }
    

    Client Side Code

    1) Add the below script in the html head section

    $(document).ready(function(){
        if ($.browser.webkit)
        {
            $($(":hidden[id*='DatePickers']").val().split(",")).each(function(i, item) {
                var h = $("table[id*='ParametersGrid'] span").filter(function(i) {
                var v = "[" + $(this).text() + "]";
                return (v != null && v.indexOf(item) >= 0);
            })
            .parent("td").next("td").find("input")
                .datepicker({
                    showOn: "button",
                    buttonImage: '/Reserved.ReportViewerWebControl.axd?OpType=Resource&Name=Microsoft.Reporting.WebForms.calendar.gif',
                    buttonImageOnly: true,
                    dateFormat: 'dd/mm/yy',
                    changeMonth: true,
                    changeYear: true
                });
            });
        }
    });
    
    0 讨论(0)
  • 2020-12-30 07:16

    At least in Chrome, an option could be just to show the date excluding the time. This make more sense to the end user.

    //Update the dates
    $(document).ready(function () {
        $('input[type=text]').each(function () {
            $(this).val($(this).val().replace('12:00:00 AM', ''));
        })
    });
    
    0 讨论(0)
  • 2020-12-30 07:20

    Removing current account/people and adding new account/people on chrome worked for me.

    0 讨论(0)
  • 2020-12-30 07:25

    Maybe this post will be helpful for you? http://www.codeproject.com/Articles/504567/Print-button-Date-picker-in-SSRS-Reports-for-Non-I

    0 讨论(0)
提交回复
热议问题