SSRS日期选择器在谷歌浏览器中是不可见的,不适用于Opera / IE?

时间:2013-02-13 20:28:26

标签: reporting-services cross-browser ssrs-2008

我正在整合SSRS报告(在VS 2008和9.0中开发),当我使用Chrome将其加载到浏览器中时,我得到了这个:

enter image description here

没有日期图标!

在Opera中显示,但不起作用:

enter image description here

如何弄清楚如何使其正常工作? 2)在Chrome中显示

我找到了一个网站(here),但它只有一个死链接(http://www.rajbandi.net/

只是我还是修复这个问题?任何提示赞赏

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

至少在Chrome中,选项可能只是显示不包括时间的日期。这对最终用户更有意义。

//Update the dates
$(document).ready(function () {
    $('input[type=text]').each(function () {
        $(this).val($(this).val().replace('12:00:00 AM', ''));
    })
});

答案 2 :(得分:0)

删除现有帐户/人员并在chrome上添加新帐户/人员对我来说很有效。

答案 3 :(得分:0)

撰写本文时,可以访问所谓的死链接(rajbandi.net);如果链接再次断开,我将其内容放在这里供使用:


在Google chrome中修复SSRS报告查看器控件日期选择器
作者:Raj Bandi
2012年4月3日
https://rajbandi.net/2012/04/03/fixing-ssrs-report-viewer-control-date-picker-in-google-chrome/

SSRS Report Viewer控件在IE6 +中运行良好,但与其他主要浏览器(Firefox,Chrome等)在日期选择器和打印按钮周围存在一些已知的兼容性问题。

有关更多信息,请阅读

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

我将结合一些服务器端代码和客户端JQuery脚本,提出一种解决Chrome中日期选择器问题的简单解决方案。

服务器端代码

1)将以下代码添加到reportviewer控件所在的页面/控件文件中

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

2)将以下代码添加到reportviewer控件所在的页面/控件的文件后面的代码中(.Net 2.0版本)

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);
        }
    }
}

客户端代码

1)在html头部分中添加以下脚本

$(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
            });
        });
    }
});