Jsf &引用;p:datatable";选择

Jsf &引用;p:datatable";选择,jsf,datatable,primefaces,Jsf,Datatable,Primefaces,我正在使用p:datatable和选择在我的bean中处理所选记录。这很有效。但是我想在初始化datatable时预设一个选中的行。这可能吗?怎么做 现在,即使已设置selectedCompany,它也不会预设记录。是因为我在返回jsf之前就这么做了吗 这是我的密码 豆子 公共地图getSelectedCompany(){ 返回所选公司; } 公共作废设置选定公司(地图选定公司){ this.selectedCompany=selectedCompany; } 公共MWSGenericMapLi

我正在使用
p:datatable
和选择在我的bean中处理所选记录。这很有效。但是我想在初始化datatable时预设一个选中的行。这可能吗?怎么做

现在,即使已设置selectedCompany,它也不会预设记录。是因为我在返回jsf之前就这么做了吗

这是我的密码

豆子

公共地图getSelectedCompany(){ 返回所选公司; } 公共作废设置选定公司(地图选定公司){ this.selectedCompany=selectedCompany; } 公共MWSGenericMapList GetHandlingCompanys(){ if(companyItems==null){ companyItems=检索处理companyItems(partnerId); 对于(int i=0;i 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;
}
<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}"/>