创建一个只包含文本框的非常简单的报表时,我可以将操作放到SSRS中的该文本框中,以使文本框可单击:
在SSDT预览窗格中预览报表时,文本框可按预期方式单击:
但是,只要我将报告上传到Sharepoint并在浏览器中查看,只有单元格中的文本是可点击的(而不是整个单元格):
使用不同的浏览器更改兼容性视图并不会改变任何内容。
在Sharepoint(2013)中查看我的报告时,有没有办法让整个单元格可点击?
(也许我错过了一个设置,使得Sharepoint SSRS的渲染与SSDT或报表查看器渲染相同?)
答案 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中,报告正在使用WinForms ReportViewer执行。这意味着预览屏幕还将使用WinForms控件来构建预览。因此,在这种情况下,文本框将由WinForms控件TextBox
对象表示。该对象的可操作区域不仅是文本,还包括对象的整个边界。