Events 使用命令组件进行单个选择时亮显行
根据primefaces文档: 带有命令组件的单个选择 此方法使用命令组件(如commandLink或 命令按钮。如果需要,可以通过作为参数传递,将选定行设置为服务器端实例 正在使用EL 2.2或使用f:setPropertyActionListener 当我按下按钮而不直接选择行时,我需要该行高亮显示 这是我的代码:Events 使用命令组件进行单个选择时亮显行,events,primefaces,Events,Primefaces,根据primefaces文档: 带有命令组件的单个选择 此方法使用命令组件(如commandLink或 命令按钮。如果需要,可以通过作为参数传递,将选定行设置为服务器端实例 正在使用EL 2.2或使用f:setPropertyActionListener 当我按下按钮而不直接选择行时,我需要该行高亮显示 这是我的代码: 我是这样解决的: <p:dataTable rowKey="${xxx.y1}-${xxx.y2}" selection="${managedBean.se
我是这样解决的:
<p:dataTable
rowKey="${xxx.y1}-${xxx.y2}"
selection="${managedBean.selectedRow}"
selectionMode="single"
value="#{managedBean.listOfBeans}" var="xxx">
<p:column>
<p:commandButton action="${managedBean.saveSomethingInDB}" onclick="highlightRow(jQuery(this));"
update="vvvComponent">
<f:setPropertyActionListener value="#{currentRow}"
target="#{managedBean.selectedRow}" />
</p:commandButton>
</p:column>
</p:dataTable>
function highlightRow(commandButton) {
$('.ui-state-highlight').removeClass('ui-state-highlight');
commandButton.closest('table').closest('tr').addClass('ui-state-highlight');
}
你的代码对我有用 多亏了propertyActionListener,当我按下按钮时,该行会高亮显示
<f:setPropertyActionListener value="#{currentRow}"
target="#{managedBean.selectedRow}" />
<p:dataTable
rowKey="${xxx.y1}-${xxx.y2}"
selection="${managedBean.selectedRow}"
selectionMode="single"
value="#{managedBean.listOfBeans}" var="xxx">
<p:column>
<p:commandButton action="${managedBean.saveSomethingInDB}" onclick="highlightRow(jQuery(this));"
update="vvvComponent">
<f:setPropertyActionListener value="#{currentRow}"
target="#{managedBean.selectedRow}" />
</p:commandButton>
</p:column>
</p:dataTable>
function highlightRow(commandButton) {
$('.ui-state-highlight').removeClass('ui-state-highlight');
commandButton.closest('table').closest('tr').addClass('ui-state-highlight');
}
<f:setPropertyActionListener value="#{currentRow}"
target="#{managedBean.selectedRow}" />