我正在集成 SSRS 报告(在 VS 2008 vs. 9.0 中开发),当我使用 Chrome 将其加载到浏览器中时,我得到了这个:
没有日期图标!
在 Opera 中显示,但不起作用:
我如何弄清楚如何 1.) 让它正常工作。2) 使其在 Chrome 中可见
我找到了一个谈论它的网站(这里),但它只有一个死链接(http://www.rajbandi.net/)
只是我还是这是一个需要解决的复杂问题?任何提示表示赞赏
我正在集成 SSRS 报告(在 VS 2008 vs. 9.0 中开发),当我使用 Chrome 将其加载到浏览器中时,我得到了这个:
没有日期图标!
在 Opera 中显示,但不起作用:
我如何弄清楚如何 1.) 让它正常工作。2) 使其在 Chrome 中可见
我找到了一个谈论它的网站(这里),但它只有一个死链接(http://www.rajbandi.net/)
只是我还是这是一个需要解决的复杂问题?任何提示表示赞赏
也许这篇文章对你有帮助? http://www.codeproject.com/Articles/504567/Print-button-Date-picker-in-SSRS-Reports-for-Non-I
在撰写本文时,可以访问所谓的死链接(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-铬合金/
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 head部分添加以下脚本
$(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
});
});
}
});
至少在 Chrome 中,一个选项可能只是显示不包括时间的日期。这对最终用户来说更有意义。
//Update the dates
$(document).ready(function () {
$('input[type=text]').each(function () {
$(this).val($(this).val().replace('12:00:00 AM', ''));
})
});
删除当前帐户/人员并在 chrome 上添加新帐户/人员对我有用。