我有一个类似于上面代码的dataTable,正如你所看到的,我使用事件rowSelectedcheckBox,有没有办法知道被点击的行,并根据该信息完全禁用该行?
<p:dataTable id="tblTipoCarteraGeneric" style="text-align:left;"
value="#{alertasPredefinidasModel.tipoCarteraDTOs}"
var="tipoCartera"
rows="15" paginator="true"
emptyMessage="empty"
paginatorAlwaysVisible="true"
paginatorPosition="bottom"
selection="#{alertasPredefinidasModel.elementoSeleccionado.tipoCarteraDTOs}"
rowKey="#{tipoCartera.tipoCarteraDTO.tipocarteraID}"
rendered="#{alertasPredefinidasModel.isTipoCartera()}">
<p:ajax event="rowSelectCheckbox" update=":form:tblTipoCarteraGeneric, :form:messages"
listener="#{alertasPredefinidasController.onRowSelected}"/>
<p:ajax event="rowUnselectCheckbox" update=":form:tblTipoCarteraGeneric, :form:messages"
listener="#{alertasPredefinidasController.onRowUnselected}"/>
<p:column selectionMode="multiple" styleClass="selection-column no-all"
disabledSelection="#{alertasPredefinidasModel.modoDetalle}"/>
<p:column headerText="Tipo de cartera" styleClass="wrappedText" >
<h:outputText id="inTxtCol1" value="#{tipoCartera.tipoCarteraDTO.nombre}" />
</p:column>
<p:column headerText="Valor del abono" styleClass="wrappedText" rendered="#{alertasPredefinidasModel.isTipoCarteraConValorOpcion2()}">
<h:inputText id="inTxtCol2" value="#{tipoCartera.parametro1}" style="width:100%"
disabled="#{alertasPredefinidasModel.modoDetalle}"/>
<pe:tooltip myPosition="top center" atPosition="bottom right" for="inTxtCol2"
value="#{tooltips.obtainToolTip('parametrizarAlertasPredefinidas', 'inTxtCol2', 'es', 'itac.SIT-Core-Middleware-Sarlaft-WAR.tooltip')} "/>
</p:column>
<p:column headerText="Porcentaje superior al valor del abono" styleClass="wrappedText" rendered="#{alertasPredefinidasModel.isTipoCarteraConValorOpcion2()}">
<h:inputText id="inTxtCol3" value="#{tipoCartera.parametro2}" style="width:100%"
disabled="#{alertasPredefinidasModel.modoDetalle}"/>
<pe:tooltip myPosition="top center" atPosition="bottom right" for="inTxtCol3"
value="#{tooltips.obtainToolTip('parametrizarAlertasPredefinidas', 'inTxtCol3', 'es', 'itac.SIT-Core-Middleware-Sarlaft-WAR.tooltip')} "/>
</p:column>
</p:dataTable>
答案 0 :(得分:1)
我认为这将满足您的要求。我向您的styleClass="tblTipoCarteraGeneric"
添加了一个额外的属性<p:dataTable>
,并添加了两个<p:ajax>
与事件page
(因为在页面更改后,以保持上一页的用户交互记录相同)和{{ 1}}(如果用户选择标题复选框而不是使用每行的单个chek框)。
假设您的toggleSelect
包装如下:
<p:dataTable>
答案 1 :(得分:-1)
您可以使用Datatable的rowIndex属性。您可以在StyleClass中使用rowIndex,并在单击时调用javascript方法。获取将包含rowIndex的类的行。
你也可以参考这个