0

p:datatable選択したレコードを Bean で処理するために and 選択を使用しています。これは機能します。しかし、データテーブルを初期化するときに、選択した行をプリセットしたいと考えています。これは可能ですか?どのように?

selectedCompany が設定されていても、レコードは事前設定されません。jsfに戻る前にやっているからですか?

これは私が持っているコードです

public Map<String, Object> getSelectedCompany() {
    return selectedCompany;
}

public void setSelectedCompany(Map<String, Object> selectedCompany) {
    this.selectedCompany = selectedCompany;
}
public MWSGenericMapList getHandlingCompanies() {

    if (companyItems == null) {
companyItems = retrieveHandlingCompanyItems(partnerIds);
            for (int i = 0; i < companyItems.size(); i++) {
                if (companyItems.get(i).get("businesspartnerid").equals(getnewCustomerPartnerId())) {
                    setSelectedCompany(companyItems.get(i));
                }
            }
}
return companyItems;
}

JSF

<p:dataTable styleClass="ptable100" id="handlingCompanies" var="company" value="#{switchCompany.handlingCompanies}" width="100%" height="200" 
        emptyMessage="#{msg.all_lists_no_records_found}" paginator="true" rows="10" rowsPerPageTemplate="5,10,20,50,100"
        paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}  #{msg.all_lists_numberOfRowsDisplayed_label} {RowsPerPageDropdown}"
        selection="#{switchCompany.selectedCompany}" selectionMode="single" rowKey="#{company.businesspartnerid}">
            <p:ajax event="rowSelect" update="@form" listener="#{switchCompany.handleCompanyChange}"/>
4

1 に答える 1

0

気にしないで、選択した行が設定されました。最初のページにいなかったので(1ページに表示するには行が多すぎます)、見逃しました。しかし、それは私がやった方法で機能します。

于 2012-10-05T09:55:07.373 に答える