Sharepoint上SSRS中的可点击(操作)单元格

时间:2014-11-18 13:12:09

标签: sharepoint reporting-services sharepoint-2013

创建一个只包含文本框的非常简单的报表时,我可以将操作放到SSRS中的该文本框中,以使文本框可单击:

Add Action to Textbox

在SSDT预览窗格中预览报表时,文本框可按预期方式单击:

Textbox is clickable

但是,只要我将报告上传到Sharepoint并在浏览器中查看,只有单元格中的文本是可点击的(而不是整个单元格):

SSRS Textbox action on Sharepoint only text clickable

使用不同的浏览器更改兼容性视图并不会改变任何内容。

在Sharepoint(2013)中查看我的报告时,有没有办法让整个单元格可点击?

(也许我错过了一个设置,使得Sharepoint SSRS的渲染与SSDT或报表查看器渲染相同?)

1 个答案:

答案 0 :(得分:4)

不,这在带有文字的SSRS中是不可能的。

假设文本是静态的,可能的解决方法是在单元格中使用图像并将动作附加到图像。

发生这种情况的原因:

在网上:

当在远程模式下通过SSRS在Web上查看报告时,它们最终会转换为HTML。文本框转换为<div>标记。带有操作的文本框将呈现为包含<div>标记的<a>标记。因此,在网络中查看时,您的浏览器会将文本解释为<div>中的常规超链接,而不是&#34;文本框&#34;宾语。由于HTML中<a>的实现,只有文本可操作,而不是整个框。这可以通过在浏览器中呈现报告并检查元素来证明。

它以这种方式工作的一个可能原因是,在纯HTML(在v5之前)将完整的DIV放入锚标记中是不正确的(有关详细信息,请参阅this discussion)。将文本放在一个锚标签显示内(如通过CSS)是正确的,但IE7(兼容模式报告默认呈现)isn't that good正在工作使用CSS display:block语句:)。

在SSDT中:

在SSDT中,报告正在使用WinForms ReportViewer执行。这意味着预览屏幕还将使用WinForms控件来构建预览。因此,在这种情况下,文本框将由WinForms控件TextBox对象表示。该对象的可操作区域不仅是文本,还包括对象的整个边界。