Фильтр простых чисел dataTable selectOneMenu не работает

Я использую PrimeFaces 5.1, В моем проекте dataTable для фильтрации используется. В текстовом фильтре все в порядке, но выпадающий фильтр не работает должным образом (т. Е.) В раскрывающемся меню я показываю отдел, Первый раз, когда я выбираю любое значение из раскрывающегося списка, работает нормально в другой раз, когда я выбираю dropdown Не возвращает никакого значения, отображаемого в dataTable. Я выбираю выбрать одно первое значение из выпадающего списка и выдает исключение нулевого указателя.

<p:dataTable id="datalist" widgetVar="datalist" var="user" value=#{beanList.userList}>
<p:column headerText="Department" filterBy="#{user.deptname}"
            filterMatchMode="exact" >
      <f:facet name="filter">
          <p:selectOneMenu onchange="PF('datalist').filter()">
                <f:selectItem itemLabel="ALL" itemValue="#{null}"
                              noSelectionOption="true" />
                <f:selectItems value="#{datalist.deptList}" />
          </p:selectOneMenu>
      </f:facet>
      <h:outputText value="#{user.depatname}" />
</p:column>
</p:dataTable>

Я сомневаюсь, что значение по умолчанию ВСЕ клик и во второй раз выберите любое значение, возвращаемое значение NULL или данные не отображаются в dataTable.

1 ответ

Поскольку я не знаю области действия вашего управляемого компонента: попробуйте область действия длиннее, чем запрос (см. Пользовательскую документацию PrimeFaces 5.1), и укажите для вашей таблицы значение "FilterValue", например:

<p:dataTable id="datalist" widgetVar="datalist" var="user"
value="#{beanList.userList}" filteredValue="#{beanList.filteredUserList}">

При этом вы сохраняете свою отфильтрованную таблицу / список в поле вашего управляемого компонента, и содержимое не будет потеряно. Также убедитесь, что ваш класс Managed Bean является сериализуемым ( см. Этот пост stackru)

Другие вопросы по тегам