В моем JSF 2.2, Primefaces 5.3 веб-приложения, я хочу, чтобы пользователь, чтобы посетить представление с состоянием предопределенного фильтра (например, в зависимости от его учетной записи пользователя)Программных применить фильтр к PrimeFaces 5 DataTable
Для достижения этой цели, я попытался программно применить фильтр к dataTable (т. е. из бэк-файла).
В моей бэк-боб я попробовал:
@ManagedBean
@ViewScoped
public class MyCointroller
private DataTable dataTable = new DataTable();
@PostConstruct
public void init() {
Map<String, Object> myFilter = new HashMap<String, Object>();
myFilter.put("userName", "Peter");
dataTable.setFilters(myFilter);
}
Где я использую "связывания" с DataTable в моей facelet.
<p:dataTable var=user"
value="#{myController.users}"
binding="#{myController.dataTable}">
<p:column headerText="Bezeichnung"
filterMatchMode="contains" filterBy="#{user.name}">
<h:outputText value="#{user.name}" />
</p:column>
Связывание сам работает, я могу прочитать примененные фильтры из моего бэк-бобов, но я не в состоянии применить myFilter
к DataTable (таблица не фильтруется в представлении).
Какого типа 'myController.user'? –
извините, была опечатка, должна быть «пользователями». myController.users - это ArrayList –