我对如何在primefaces中以编程方式启用/禁用复选框有疑问。如果可能的话,我想通过java代码控制列复选框的启用/禁用状态。有人能帮我吗?
这是我的代码:
<p:dataTable id="table" var="some" value="#{someManager.someDataModel}"
selection="#{someManager.chooseSomethings}">
<p:column binding="#{someManager.columnCheckBox}" selectionMode="multiple"/>
<p:column>
<h:outputText value="#{some.nameOfTheSomething}"/>
</p:column>
</p:dataTable> 当我单击datatable的复选框时,选中的数据将显示在下面的datatable中:
<p:dataList id="selectedDataList"
value="#{someManager.chooseSomethings}"
var="c" rowIndexVar="i">
<h:outputText id="choseSomeElement" value="#{c.nameOfTheSomething}"/>
<p:commandLink value="x" process="@this" update=":form:selectedDataList" actionListener="#{userManager.remove}"/>
</p:dataList>在这个选择列表中,我可以删除在"X“commandLink中单击的任何元素。此commandLink从chooseSomethings列表中删除数据。当它发生时,我想再次取消选中(禁用) datatable中的corespondent元素的复选框(恢复初始状态)。
有可能吗?谢谢。
发布于 2013-03-26 05:57:16
primefaces同步了两个列表。当您从chooseSomethings中删除数据时,数据表将显示未选中的复选框。在本例中,您只需将数据表的id放在dataList的update属性中。如下所示:
<p:dataTable id="table" var="some" value="#{someManager.someDataModel}"
selection="#{someManager.chooseSomethings}">
<p:column binding="#{someManager.columnCheckBox}" selectionMode="multiple"/>
<p:column>
<h:outputText value="#{some.nameOfTheSomething}"/>
</p:column>
</p:dataTable>
<p:dataList id="selectedDataList"
value="#{someManager.chooseSomethings}"
var="c" rowIndexVar="i">
<h:outputText id="choseSomeElement" value="#{c.nameOfTheSomething}"/>
<p:commandLink value="x" process="@this" update=":form:selectedDataList,:form:table" actionListener="#{userManager.remove}"/>
https://stackoverflow.com/questions/13994496
复制相似问题