2015-09-28 4 views
0

У меня странная проблема. У меня есть критерии поиска, и у меня есть datatable, который отображает результаты.JSF: очистить DataTable, если записей не найдено?

Функция поиска работает нормально. Ниже приведена проблема.

Я ввожу критерии поиска, я нажимаю кнопку поиска, записи отображаются. Хорошо. Снова я ввожу некоторые критерии поиска, для которых нет записей, которые должны очищаться datatable. Но проблема заключается в том, что сама старая запись отображается. Что может быть проблема

Ниже мой Java-код:

public void results(TestItem[] TestItemTOArray, TestForm TestForm, boolean isNewSearch, CarService carService) throws Exception { 
     if (viewBean instanceof TestViewBean) { 
      TestViewBean = (TestViewBean) viewBean; 
     } 
     TestRowForm[] TestRowFormArray = this.convertToTestRowForm(TestItemTOArray, TestForm, isNewSearch, carService); 
     if(TestRowFormArray.length > 0) 
      TestForm.setTestRowForm(TestRowFormArray); 
     if(TestRowFormArray!=null){ 
      TestForm.setTestRowForm(TestRowFormArray); 
      TestForm.setTotalRows(TestRowFormArray.length); 
     } 
    } 

JSF:

<rich:dataTable 
     value="#{testController.testForm.testRowForm}" 
     rows="#{testController.noOfRecordsToShow}" var="resultRow" noDataLabel="No Result Found" 
     headerClass="ColumnHeader" styleClass="DataTable" rowKeyVar="itc" 
     style="width:980px;" id="dtTable"> 

ответ

0

Вы должны очистить источник данных для таблицы данных в случае, когда результирующий набор пуст тоже.

+0

спасибо за ваш ответ. Но как я могу очистить мою таблицу данных. как вы можете видеть, я устанавливаю свой массив, который приходит в результате как [], но datatable не изменяется. :( – Luxy

+0

Отладить его и проверить возврат 'convertToTestRowForm' в указанном случае. Плюс проверить, была ли повторно обработана datatable после вызова метода. –

Смежные вопросы