【发布时间】:2018-05-23 10:38:35
【问题描述】:
有没有办法在 Primefaces 中禁用整个 dataTable?有人建议使用editable 组件,但这似乎没有帮助。
#{conversionRatesBean.readOnlyUser}是过滤掉用户组的代码。
我正在使用 Primefaces 3.5 和 JSF 2.1.6
如果不在 Primefaces 中,有人可以在 jQuery 中提出一些解决方案吗?
<div class="grid_12 width_75_pc margin_left_auto" >
<div class="datatable">
<p:dataTable editable="#{!conversionRatesBean.readOnlyUser}" id="conversionRateTable" var="row" value="#{conversionRatesBean.rowNames}" rowIndexVar="rowIdx" styleClass="projectTable table-container">
<p:column headerText="" styleClass="#{rowIdx == -1 ? 'itPanelGreen' : 'ui-widget-header'} textAlignCenter valign-middle width_20_pc column_name" >
<h:outputText value="1 #{row.name} =" />
</p:column>
<p:columns var="column" value="#{conversionRatesBean.colNames}" headerText="#{column.name}" columnIndexVar="colIdx"
styleClass="#{rowIdx == colIdx ? 'itPanelGreen' : 'textAlignCenter'}">
<input:decimalField beanValue="#{conversionRatesBean.conversionMap[row][column].conversionValue}"
errorMsg="#{msgs['errorInvalidValue']}"
rendered="#{rowIdx != colIdx}"
decimalFields="4"
errorDecimal="#{msgs['packaging.error.number.decimals']}"
styleClass="textAlignRight "
maxLength="9"/>
</p:columns>
</p:dataTable>
</div>
</div>
<div class="actions grid_12 alpha">
<p:commandButton id="saveBtn" value="Save" update="conversionRateTable"
action="#{conversionRatesBean.save}"
oncomplete = "qt.removeSavedState();"
disabled="#{conversionRatesBean.readOnlyUser}"
styleClass="js-saveButton button" onstart="screenUtils.triggerRequired(); if(screenUtils.errorsOnPage()){return false;}"/>
<pretty:link mappingId="rateSelection" styleClass="displayInlineBlock margin_top_5">
<f:param value="#{conversionRatesBean.rateId}" />
<h:outputText value="#{msgs.backtoOverView}" styleClass="linky margin_left_10" />
</pretty:link>
</div>
【问题讨论】:
-
您要完全禁用什么?输入字段还是选择?
-
整个数据表
-
我不认为你可以禁用整个数据表。您可以禁用选择或可编辑模式。 MAyb blockUI 可以帮助您。您可以实现一个 blockUI 并创建一个小的解决方法。 primefaces.org/showcase/ui/misc/blockUI.xhtml
-
这个想法是根据某些条件永久禁用数据表。
blockUI有不同的用途,它只会在服务器返回响应之前禁用数据表。您能否分享一下您可能会有所帮助的解决方法?
标签: javascript jquery jsf primefaces