Использование настраиваемого глобального фильтра для p: dataTable - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь реализовать поиск по ключевым словам через запятую, используя глобальный фильтр в PrimeFaces.

Если пользователь вводит word1,word2 в глобальном поиске, все строки, которые имеют word1 и word2, должныбыть возвращенным.На данный момент мне не удалось найти предопределенную функцию поиска по нескольким словам для глобального поиска в PrimeFaces.Глобальный поиск работает только с одним ключевым словом.Например: Поиск возвращает результаты только в том случае, если пользователь вводит word1 или word2.

Похоже, что PrimeFaces использует клиентский API filter () для глобального поиска.Есть ли способ реализовать поиск по нескольким ключевым словам?

<p:dataTable id="dwg" widgetVar="tblDwgDtl" var="dwgDtl" 
 value="#{dwgCtrlr.dwgs} sortMode="multiple" scrollable="true" 
 styleClass="bsa-drawing" rows="25" resizableColumns="true">
    <f:facet name="header">
        <p:panelGrid styleClass="ui-panelgrid-blank">
                <p:row>
                    <p:column colspan="6">
                        <p:inputText id="globalFilter" 
                        onkeyup="PF('tblDwgDtl').filter()" 
                        placeholder="#{msg['searchAllFields.text']}" />
                    </p:column>
                </p:row>
        </p:panelGrid>
   </f:facet>

1 Ответ

0 голосов
/ 06 февраля 2019

PrimeFaces 7.1 и выше

В PrimeFaces 7.1 вы можете использовать атрибут globalFilterFunction p:dataTable для реализации своего глобального фильтра.См. https://primefaces.github.io/primefaces/7_1/#/components/datatable?id=filtering

До PrimeFaces 7.1

Что вы можете сделать, это заменить средство визуализации таблицы данных на пользовательское .Затем там , замените FilterFeature пользовательской версией.Итак, вам нужно расширить FilterFeature и , чтобы позаботиться о множественных ключевых словах там .

...