第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JSF,Primefaces LazyDataModel - 更新行而不調(diào)用加載方法

JSF,Primefaces LazyDataModel - 更新行而不調(diào)用加載方法

ibeautiful 2022-06-15 10:39:53
我有一個帶有 2 列的簡單惰性數(shù)據(jù)模型。第二列只有默認禁用的復選框(無法單擊它們)。在行選擇上,我只想啟用復選框(checkbox.disabled = false)而不調(diào)用load方法 - 因為我的數(shù)據(jù)沒有更改,因此無需請求數(shù)據(jù)庫。問題是,當我更新我的 dataTable 以將 checkbox.disabled 更改為false,然后調(diào)用 RENDER_PHASE 并調(diào)用load方法,另一方面,如果我不更新我的數(shù)據(jù)表,則該復選框始終被禁用。我怎樣才能讓它一起工作?更新:<h:form id="form-id">            <p:dataTable var="element"                         id="data-table-id"                         value="#{view.elements}"                         lazy="true"                         paginator="true"                         paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"                         selectionMode="single"                         rows="5"                         rowsPerPageTemplate="5,10,15,30"                         selection="#{view.selectedElement}">                <p:ajax event="rowSelect"                        listener="#{view.someMethod()}"                        update="checkbox"/>                <p:column headerText="Element"                          width="300">                    <h:outputText value="#{element.name}"/>                </p:column>                <p:column headerText="Active"                          width="300">                    <p:selectBooleanCheckbox id="checkbox"                            disabled="#{view.selectedElement.id ne element.id}"                            value="#{element.active}"/>                </p:column>            </p:dataTable>        </h:form>當我把update="form-id"然后活動復選框啟用 - 但正如我所說,該load方法被調(diào)用,這是不受歡迎的行為
查看完整描述

1 回答

?
搖曳的薔薇

TA貢獻1793條經(jīng)驗 獲得超6個贊

這就是 JSF 的工作方式,如果您說 update="form-id" JSF 將重新呈現(xiàn)整個表單,包括重建您的數(shù)據(jù)表,從而調(diào)用您的加載方法。


聽起來您想要的是更新單行檢查OmniFaces Ajax.updateRow方法。


所以例如JSF...


<p:dataTable binding="#{myDataTable}"


<p:commandButton value="Update" action="#{ajaxBean.updateRow(myDataTable, 0)}" />

爪哇:


public void updateRow(UIData table, int index) {

   Ajax.updateRow(table, index);

}


查看完整回答
反對 回復 2022-06-15
  • 1 回答
  • 0 關(guān)注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號