1

RichFaces 扩展数据表在呈现时有一个外部 div,它将所有溢出设置为隐藏。因此,每行显示一个工具提示并不能很好地工作,因为当将鼠标悬停在表格底部或右边缘的行上时,工具提示会部分隐藏在视图之外。

呈现的 HTML 看起来很像这样。需要明确的是,RichFaces 渲染引擎完全控制输出外部 DIV 的样式,包括第 3 行的“溢出:隐藏”:

<div id="toplevelform:myTable" class="extdt-maindiv rich-extdt-maindiv">
    <div id="toplevelform:myTable:od" class="extdt-outerdiv"
        style="width:100%; height:100%; overflow:hidden;">

        <!-- inner divs to display rows and columns with their 
            respective tooltips here -->

    </div>
</div>

第 3 行的“溢出:隐藏”是导致问题的原因,如果我使用客户端后缀(例如 Firebug 编辑器)手动删除它,它可以解决问题,但我需要在 RichFaces 框架内解决它,以便 CSS 是一开始就没有输出。

用来产生这个的 RichFaces 标记看起来很像这样:

<rich:extendedDataTable id="myTable" value="#{backingBean.myIterableProperty}" var="myPropVar">
    <rich:column id="nameCol" width="100%">
        <h:outputText value="#{myPropVar.name}"/>
        <rich:toolTip direction="bottom-right" layout="block">
            My tooltip text here...
        </rich:toolTip>
    </rich:column>
</rich:extendedDataTable>

考虑到必须在到达客户端之前对其进行修复的约束,是否有一种干净的方法可以清楚地显示工具提示而不受其边界 DIV 的限制?

顺便说一句,改变工具提示方向也不是答案!

4

1 回答 1

0

答案是不。这样一来,RichFaces 扩展数据表就出现了烦人的缺陷。

于 2013-03-26T03:29:58.027 回答