RichFaces extendedDataTable 滚动条在调整屏幕大小后才会显示

RichFaces extendedDataTable scrollbars don't show up until after screen resize

我正在使用 richFaces 4.5.17,并且正在尝试使用 extendedDataTable。当我第一次加载页面时,显示的数据太大,应该会导致显示滚动条的扩展数据 table。然而,实际结果只是一个 window,可能只显示 4 行。此外,数据 table 中未显示 headers。

如果您完全调整浏览器 window 的大小,即使将其放大或缩小 1px,滚动条也会突然出现并弹出 headers。

虽然用户有一个解决方法,但这是一个主要缺陷,即用户每次刷新页面时都必须调整 window 大小。

headers 显示时生成的高度为 0,但我可以通过修改我的 styles.css 页面来显示 headers 以包含:

.rf-edt-hdr-c{
    height:45px !important;
}

我页面中的一段代码是:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core" lang="en">
<h:head></h:head>
<h:body>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
    xmlns:t="http://myfaces.apache.org/tomahawk"
    xmlns:rich="http://richfaces.org/rich"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:a4j="http://richfaces.org/a4j" >

    <t:panelGroup>
        <rich:collapsiblePanel header="Reverts:" headerClass="textLeft" switchType="ajax" >

            <rich:extendedDataTable id="listReverts" value="#{accountingBacking.reverts}" var="revert"  columnClasses="textCenter, textCenter,textRight, textLeft,textCenter, textLeft"
                sortMode="single" first="0" frozenColumns="1" style="width:830px;height:100px;">

                <rich:column sortBy="#{revert.tranDate}">
                    <f:facet name="header">
                        <h:outputText value="Tran Date" />
                    </f:facet>
                    <a4j:commandLink  render="accountDetailForm" action="#{accountingBacking.loadRevertTransaction}" onclick="#{rich:component('popAccountTranDetail')}.show()" onmouseover="Tip('#{msg_bundle.account_loadDetail_help}')">

                        <a4j:param name="tranid" value="#{revert.tranid}" assignTo="#{accountingBacking.tranId}" />                         
                        <h:outputText value="#{revert.tranDate}">
                            <f:convertDateTime type="date" pattern=" MM/dd/yyyy" />
                        </h:outputText>
                    </a4j:commandLink>
                </rich:column>

                <rich:column sortable="false">
                    <f:facet name="header">
                        <h:outputText value="Org" />
                    </f:facet>
                    <h:outputText value="#{revert.org}" />
                </rich:column>
            </rich:extendedDataTable>
        </rich:collapsiblePanel>
    </t:panelGroup>
</ui:composition>
</h:body>
</html>

答案最终在版本中。

我最终使用 4.5.10 来保留我的网站功能,同时避免 4.5.17 中引入的错误

在 RichFaces 4.5.17 的最终版本中,有一个错误阻止 javascript 自动和动态地呈现滚动条。 解决方案是将版本备份到足够高,这样我就不会遇到同样的错误,同时避免发行说明中描述的许多其他已知错误 https://developer.jboss.org/people/michpetrov/blog/2016/06/22/richfaces-4517final-release-announcement