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
我正在使用 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