【发布时间】:2012-03-23 09:26:30
【问题描述】:
我想在报告加载时更改“正在加载...”消息说“报告正在加载,请稍候这将需要几秒钟...”之类的。有什么办法可以改变这个吗?
注意:我没有使用任何 ASP.NET 应用程序。我需要在 SSRS 中完成此操作。
感谢您的宝贵时间。
【问题讨论】:
标签: reportviewer reporting-services
我想在报告加载时更改“正在加载...”消息说“报告正在加载,请稍候这将需要几秒钟...”之类的。有什么办法可以改变这个吗?
注意:我没有使用任何 ASP.NET 应用程序。我需要在 SSRS 中完成此操作。
感谢您的宝贵时间。
【问题讨论】:
标签: reportviewer reporting-services
我认为我们无法更改 SSRS 中的加载消息。它只是 get 属性。
上面的链接是我告诉我们不能改变的原因。
我们可以在我使用 javascript 代码完成的 ASP.NET 应用程序中更改此消息。
要更改 spinWheel 加载指示器,解决方案是我们必须使用 @Harri 链接所说的 Windows 或 Web 应用程序。
为了更改消息,我使用了 ASP.NET 应用程序。现在选择后刷新参数时更改。还是有一些地方需要改变。
浏览后来源:
<div id="ReportViewerDisplay_AsyncWait_Wait" style="cursor:wait;background-color:#DC9CE4;padding:15px;border:1px solid black;display:none;position:absolute;">
<table height="100%">
<tr>
<td width="32px" height="32px">
<img src="/Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=10.0.30319.1&Name=Microsoft.Reporting.WebForms.Icons.SpinningWheel.gif" style="height:32px;width:32px;"/>
</td>
<td style="vertical-align:middle;text-align:center;">
<span style="font-family:Verdana;font-size:14pt;">Loading...</span>
<div style="margin-top:3px;">
<a href="javascript:$get('ReportViewerDisplay_AsyncWait').control._cancelCurrentPostback();" style="font-family:Verdana;font-size:8pt;color:#3366CC;">Cancel</a>
</div>
</td>
</tr>
</table>
</div>
ASP 设计页面: 函数获取(arg){
var divTag = document.getElementsByName('ReportViewerDisplay_AsyncWait_Wait');
if (divTag != null ) {
var tableTag = divTag.item(0);
var rowTag = tableTag.childNodes[0];
var columnTag = rowTag.childNodes[0];
var tdtag = columnTag.childNodes[0];
var spantag = tdtag.childNodes[0].nextSibling.childNodes[0];
spantag.outerText = arg;
}
};
</script>
代码隐藏:
protected void ReportViewerDisplay_PreRender(object sender, EventArgs e)
{
ClientScriptManager cs = Page.ClientScript;
cs.RegisterStartupScript(typeof(Page), "PrintScript_" + UniqueID, "get('Please Wait');", true);
}
注意:ReportViewerDisplay 是 ReportViewer 控件的 Id 相应变化
如果您同意此答案,请将此答案标记为有用。
【讨论】:
我在 ASP.NET 应用程序中执行此操作的另一种方法是实现 IReportViewerMessages。
更改 ProgressText 属性
string IReportViewerMessages.ProgressText
{
get
{
return ("Please Wait... This will take some time");
}
}
其他属性只是返回null。该值又采用下面链接中解释的基值。
string IReportViewerMessages.BackButtonToolTip
{
get { return null; }
}
编辑 web.config 并添加 Appsetting 标签
<appSettings>
<add key="ReportViewerMessages" value="MyNamespace.MyRVMessageClass, MyAssembly" />
</appSettings>
下面的链接有助于如何做到这一点并解释它是什么。
仍在期待如何在 BIDS SSRS 中进行操作。
【讨论】:
其实那是一张图片(gif),所以你需要创建一张带有自定义信息的图片。对于实现,我认为您应该看到这个问题:ReportViewer control loading indicator?。
【讨论】: