Я действительно обнаружил, что проблема в компоненте поддержки, у меня было 3 списка:
staffList = new ArrayList<>();
staffListFiltered = new ArrayList<>();
userDTOList = new ArrayList<>();
, которые я заполняю слушателем viewAction
public void loadStaffListAction() {
staffList = zaties.listAllStaff();
staffListFiltered = zaties.listAllStaff();
userDTOList = iacw.listAllUsers();
}
проблема была в 2разные списки staffList
и staffListFiltered
заполнены различными объектами из сервиса, поэтому изменили код следующим образом:
public void loadStaffListAction() {
staffList = zaties.listAllStaff();
staffListFiltered = staffList;
userDTOList = iacw.listAllUsers();
}
, и это решило проблему, тем не менее, это не лучшая практика, как объясняется ниже.
Распространенная ошибка:
в витрине простых лиц для отфильтрованных данных никогда не инициализировать список filteredValue
для чего-либо, они оставляют егокак null
, так что логика фильтра данных с возможностью инициализации корректно инициализирует его, обращая внимание на эту деталь, я советую:
Не инициализируйте ничего, пока не получите ошибку.
комментарии приветствуются!