Primefaces - 数据表列过滤器文本框未显示

Cat*_*ish 1 jsf primefaces jsf-2

我正在使用PF 4.0,我有一个懒惰加载的数据表,我正在尝试将过滤器文本框添加到"名称"列,但文本框没有出现.我错过了什么?

...
<p:dataTable var="user" value="#{userGroupBacking.users}" editable="true" id="userTable" paginator="true" rows="20"  
    paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}" lazy="true"
    filteredValue="#{userGroupBacking.filteredUsers}" >

    <p:ajax event="rowEdit" listener="#{userGroupBacking.onEdit}" /> 

    <p:column headerText="User" filterBy="#{user.name}" filterMatchMode="contains">
        <h:outputText value="#{user.name}" />
    </p:column>
...
Run Code Online (Sandbox Code Playgroud)

支持豆:

@ManagedBean(name="userGroupBacking")
@ViewScoped
public class UserGroupBacking {

@ManagedProperty(value="#{accessBacking}")
    private AccessBacking accessBacking;
    public void setAccessBacking(AccessBacking accessBacking) {
        this.accessBacking = accessBacking;
    }

@PostConstruct
    public void init() {
        this.ds = databaseBacking.getDs();
        if(isLoggedIn()) {
            loadData();
        }
    }

/**
     * Checks that the user is logged in
     * @return
     */
    public boolean isLoggedIn() {
        return accessBacking.isHasAccess();
    }

public LazyDataModel<User> getUsers() {
        return users;
    }
    public List<Group> getGroups() {
        return groups;
    }
    public List<Group> getSelectedGroups() {
        return selectedGroups;
    }
    public List<SelectItem> getGroupsAsSelectItems() {
        return groupsAsSelectItems;
    }
    public List<SelectItem> getUsersAsSelectItems() {
        return usersAsSelectItems;
    }
    public String getNewGroup() {
        return newGroup;
    }
    public void setNewGroup(String newGroup) {
        this.newGroup = newGroup;
    }
    public List<User> getFilteredUsers() {
        return filteredUsers;
    }
    public void setFilteredUsers(List<User> filteredUsers) {
        this.filteredUsers = filteredUsers;
    }
}
Run Code Online (Sandbox Code Playgroud)

Cat*_*ish 6

我想到了.看来在PF 4.0中,你需要filterBy代码来改变:

<p:column headerText="User" filterBy="#{user.name}" filterMatchMode="contains">
    <h:outputText value="#{user.name}" />
</p:column>
Run Code Online (Sandbox Code Playgroud)

至:

<p:column headerText="User" filterBy="name" filterMatchMode="contains">
    <h:outputText value="#{user.name}" />
</p:column>
Run Code Online (Sandbox Code Playgroud)