2015-08-26 3 views
0

я это Datatable:PropertyNotFoundException в фильтрованных Datatable (PrimeFaces)

<p:dataTable id="processes" var="process" 
      value="#{homeBean.processesList}" 
      filteredValue="#{homeBean.filteredProcesses}" 
      rowKey="#{process.pid}" 
      selection="#{homeBean.selectedProcesses}" 
      paginator="true" 
      rows="15" 
      paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}" 
      rowsPerPageTemplate="5,10,15" > 

    <f:facet name="header"> 
     <h:outputText value="Processes" /> 
    </f:facet> 

    <p:column name="owner" 
       filterBy="#{process.owner}" 
       filterMatchMode="contains" 
       sortBy="owner" 
       headerText="#{homeBean.selectedLogicalServer.os eq 'Windows' ? 'User Name' : 'OWNER'}"> 
     <h:outputText value="#{process.owner}" /> 
    </p:column> 

    <p:column name="pid" filterBy="#{process.pid}" filterMatchMode="exact" sortBy="pid" headerText="PID"> 
     <h:outputText value="#{process.pid}" /> 
    </p:column> 

    <p:column name="ppid" 
       filterBy="#{process.ppid}" 
       filterMatchMode="exact" 
       sortBy="ppid" 
       headerText="#{homeBean.selectedLogicalServer.os eq 'Windows' ? 'Session Number' : 'PPID'}"> 
     <h:outputText value="#{process.ppid}" /> 
    </p:column> 

    <p:column name="c" 
       filterBy="#{process.c}" 
       filterMatchMode="exact" 
       sortBy="c" 
       headerText="#{homeBean.selectedLogicalServer.os eq 'Windows' ? '?' : 'C'}"> 
     <h:outputText value="#{process.c}" /> 
    </p:column> 

    <p:column name="stime" 
       filterBy="#{process.stime}" 
       filterMatchMode="contains" 
       sortBy="stime" headerText="#{homeBean.selectedLogicalServer.os eq 'Windows' ? '?' : 'STIME'}"> 
     <h:outputText value="#{process.stime}" /> 
    </p:column> 

    <p:column name="tty" 
       filterBy="#{process.tty}" 
       filterMatchMode="contains" 
       sortBy="tty" 
       headerText="#{homeBean.selectedLogicalServer.os eq 'Windows' ? 'Session Name' : 'TTY'}"> 
     <h:outputText value="#{process.tty}" /> 
    </p:column> 

    <p:column name="time" 
       filterBy="#{process.time}" 
       filterMatchMode="contains" 
       sortBy="time" 
       headerText="#{homeBean.selectedLogicalServer.os eq 'Windows' ? 'CPU TIME' : 'TIME'}"> 
     <h:outputText value="#{process.time}" /> 
    </p:column> 

    <p:column name="cmd" 
       filterBy="#{process.cmd}" 
       filterMatchMode="contains" 
       sortBy="cmd" 
       headerText="#{homeBean.selectedLogicalServer.os eq 'Windows' ? 'Image Name' : 'CMD'}"> 
     <h:outputText value="#{process.cmd}" /> 
    </p:column> 
</p:dataTable> 

Проблема: Property 'filteredProcesses' not recordable type for corp.gs.produban.atf.amp.mbeans.am.HomeBean это ошибка, которая следует за ProperyNotFoundException.

В DataTable есть вся информация, но я не могу ее фильтровать. Мой класс начинается сразу это:

@ManagedBean 
@ViewScoped 
public class HomeBean extends ManagedBeanBase implements Serializable { 

И это атрибут в классе и его и присваивателя

public List<LogicalServerProcess> filteredProcesses; 

public List<LogicalServerProcess> getFilteredProcesses() { 
    return filteredProcesses; 
} 

public void setFilteredUsers(List<LogicalServerProcess> filteredProcesses) { 
    this.filteredProcesses = filteredProcesses; 
} 

Есть идеи?

+0

FYI: A '' имеет свойство 'name'. Вместо этого это 'id'. – Tiny

ответ

0

Проблема заключалась в том, что сеттер filteredProcesses был назван setFilteredUsers с правильным именем его работает правильно

+0

если это решило ваш вопрос, отметьте его как принято – Fritz

+0

Я не могу сделать это до двух дней –

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