我在我的頁面有兩個rich:extendedDataTables
。一個是「主」,另一個是從屬,因爲從屬中的數據依賴於主數據。重提富:extendedDataTable在另一個表的過濾器事件
主人爲其每列設置了filterBy
。我希望能夠在主表中根據過濾器事件rerender
從表。
我成功的最接近試圖挖掘到像下面的「返回」按鍵,但它不能很好地工作:
<rich:hotKey selector="#masterTableEnclosingPanel" key="return"
handler="doSomethingA4jFunction()" preventDefault="true" type="onkeyup"/
我使用RichFaces的3.3.3。任何想法都非常受歡迎!
按照khan的要求,我添加了更多的XHTML源代碼。我使用RichFaces的3.3.3:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="........................">
<f:view>
<head>
<meta http-equiv="....................."/>
</head>
<body>
<a4j:form id="my_form">
<a4j:jsFunction name="handleMasterTableFiltering"
oncomplete="myCustomFilterColumnsJSFunction()"
reRender="slaveTablePanel"/>
<rich:panel id="masterTablePanel">
<!-- MASTER TABLE -->
<a4j:region id="masterTableEnclosingRegion">
<rich:extendedDataTable rowKeyVar="rkv"
height="284px" width="100%" id="masterTable" rows="10"
columnClasses="col" value="#{BackingBean.masterTableModel}"
binding="#{BackingBean.masterTable}"
selection="#{BackingBean.selectionMasterTable}" var="master"
enableContextMenu="false" selectionMode="multi">
<a4j:support event="onselectionchange"
action="#{BackingBean.handleSelectionMasterTable}"
reRender="slaveTablePanel" />
<rich:column width="40px" sortBy="#{'ID'}" filterBy="#{'ID'}">
<f:facet name="header">
<h:outputText value="ID" />
</f:facet>
<h:outputText value="#{master.id}" id="master_id"/>
</rich:column>
<rich:column width="120px" sortBy="#{'NAME'}" filterBy="#{'NAME'}">
<f:facet name="header">
<h:outputText value="Name" />
</f:facet>
<h:outputText value="#{master.name}" id="master_name" />
</rich:column>
<rich:column width="140px" sortBy="#{'DESCRIPTION'}" filterBy="#{'DESCRIPTION'}">
<f:facet name="header">
<h:outputText value="Description" />
</f:facet>
<h:outputText value="#{master.description}" id="master_desc" />
</rich:column>
</rich:extendedDataTable>
</a4j:region>
<!-- END MASTER TABLE -->
</rich:panel>
<rich:spacer height="10px" />
<rich:panel id="slaveTablePanel">
<!-- SLAVE TABLE -->
<rich:panel id="slaveTableEnclosingPanel"
style="height:325px; width:1210px; overflow:auto; border:0px; padding-top:0px;">
<rich:extendedDataTable rowKeyVar="rkv"
height="282px" width="1758px" id="slaveTable" rows="10"
columnClasses="col" selectionMode="multi"
value="#{BackingBean.slaveTableModel}"
selection="#{BackingBean.selectionSlaveTable}"
binding="#{BackingBean.slaveTable }"
var="slave" enableContextMenu="false">
<a4j:support event="onselectionchange" immediate="true"
action="#{BackingBean.handleSelectionSlaveTable}"/>
<rich:column width="40px" sortBy="#{'ID'}" filterBy="#{'ID'}">
<f:facet name="header">
<h:outputText value="ID" />
</f:facet>
<h:outputText value="#{slave.id}" id="slave_id"/>
</rich:column>
<rich:column width="120px" sortBy="#{'NAME'}" filterBy="#{'NAME'}">
<f:facet name="header">
<h:outputText value="Name" />
</f:facet>
<h:outputText value="#{slave.name}" id="slave_name" />
</rich:column>
<rich:column width="140px" sortBy="#{'DESCRIPTION'}" filterBy="#{'DESCRIPTION'}">
<f:facet name="header">
<h:outputText value="Description" />
</f:facet>
<h:outputText value="#{slave.description}" id="slave_desc" />
</rich:column>
</rich:extendedDataTable>
</rich:panel>
<!-- END SLAVE TABLE -->
</rich:panel>
<rich:hotKey selector="#masterTablePanel" key="return"
handler="handleMasterTableFiltering()"
preventDefault="true" type="onkeyup" />
</a4j:form>
</body>
</f:view>
</html>
請粘貼您的代碼 – hayat 2013-04-10 10:52:41
我很努力地在我的評論中啓用語法突出顯示,但無法使其工作。有什麼我失蹤?我通過Meta Stackoverflow文章和Google美化頁面閱讀並嘗試了他們的建議,但我的代碼仍然是黑色的。我看過其他的代碼是語法高亮的帖子。 – genchev 2013-04-10 16:21:00