2014-10-22 5 views
0
<h:form id="searchForm"> 
     Keyword: <p:inputText id="search" 
       value="#{employeeSearch.searchString}" /> 
       <p:commandButton value="Search" 
        action="#{employeeSearch.searchByString}"> 
        <f:ajax execute="@all" render="output" /> 
       </p:commandButton> (Enter keywords separated by spaces) 

       <p:dataTable id="output" var="employee" 
        value="#{employeeSearch.employees}"> 
       ... etc... 


Я знаю, что база данных удара после первого нажатия кнопки, это просто мнение не обновляется с помощью Ajax

если добавить ajax="false" к CommandButton <p:commandButton value="Search" ajax="false"Обновление DataTable с помощью F: Кнопка Аякса потребности нажать дважды или ввести дважды нажать кнопку

Объект DataTable обновляется, как ожидается, после одного нажатия кнопки или нажатие ввести только один раз, но вся страница обновляется.

вот мой боб

@ViewScoped 
@ManagedBean 
public class EmployeeSearch { 

public String searchByString() { 
    this.employees = employeeRepository.searchBySingleString2(searchString); 
    return null; 
} 

ответ

1

Если и хотите обновить только DataTable компонент попробовать сделать что-то вроде этого:

<p:commandButton value=" action="#{employeeSearch.searchByString}" update="output"> 

или просто добавить в CommandButton

<f:ajax update=":searchForm:output" /> 
+1

обновление =» вывода "на commandButton было то, что мне было нужно – jeff

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