2014-07-11 6 views
0

xhtml 페이지에 <p:dataTable>이 있습니다. 표에는 i 깅 bean에 대한 값이 표시되지 않습니다. 콩에 대한 getter가 호출되는 것을 알았고,이 빈에 항목이 있다는 것을 알았습니다. 왜이 아이디어입니까? Netbeans 7.3, JSF2.2, Tomcat 7, jdk1.7, primefaces 4.0. 여기 JSF DataTable에 값이 표시되지 않습니다.

내 테이블,이 'mainForm'여기

<p:dataTable id="DTsamples" widgetVar="DTsamplesVw" var="sample" value="#{alterSampleController.samples}" 
          filteredValue="#{alterSampleController.filteredSamples}" paginator="true" rows="20" 
          sortMode="multiple" scrollable="true" rowStyleClass="#{sample.rowColorByType}"> 

<p:column headerText="Lab Number" footerText="Lab Number" sortBy="labNumber" filterMatchMode="contains" filterBy="labNumber" filterMaxLength="20"> 
         #{sample.labNumber}        
</p:column> 

<p:column headerText="Container ID" footerText="Container ID" sortBy="containerID" filterMatchMode="contains" filterBy="containerID" filterMaxLength="11"> 
         #{sample.containerID}        
</p:column> 

<p:column headerText="Sample Type" footerText="Sample Type" sortBy="sampleType" filterMatchMode="contains" filterBy="sampleType" filterMaxLength="50"> 
         #{sample.sampleType} 
</p:column> 

<p:column headerText="Field ID" footerText="Field ID" sortBy="fieldID" filterMatchMode="contains" filterBy="fieldID" filterMaxLength="150"> 
         #{sample.fieldID} 
</p:column> 

<p:column headerText="Sample ID" footerText="Sample ID" sortBy="sampleID" filterMatchMode="contains" filterBy="sampleID" filterMaxLength="150"> 
         #{sample.sampleID} 
</p:column> 

<p:column headerText="Grower" footerText="Grower" sortBy="grower" filterMatchMode="contains" filterBy="grower" filterMaxLength="50"> 
         #{sample.grower} 
</p:column> 

~~~A few other columns that don't contain data~~~~ 

</p:dataTable> 

라는 형태의 내부 검색에서 결과를 유도 할 수있는 대화입니다

<h:form id="innerSearch"><p:dialog id="searchDialogID" widgetVar="searchDialog" header="Sample search" resizable="false" draggable="false" showEffect="puff" 
         hideEffect="puff" appendToBody="false" modal="true" rendered="#{alterSampleController.allowReading eq true}"> 

~~~Bunch of inputTexts and selectoneMenus to get search details     

<p:commandButton update=":mainForm" process="innerSearch" icon="ui-icon-search" value="Search" actionListener="#{alterSampleController.loadSearch}" oncomplete="searchDialog.hide()"/> 

</p:dialog> 
</h:form> 

관련 백업의 콩

@ManagedBean 
@ViewScoped 


public class AlterSampleController implements Serializable {  
private ArrayList<SampleAlter> _samples; 
private ArrayList<SampleAlter> _filteredSamples; 

public void loadSearch() { 
    UIComponent table = FacesContext.getCurrentInstance().getViewRoot().findComponent(":mainForm:DTsamples"); 
    table.setValueExpression("sortBy", null); 
    if (_samples != null) { 
     _samples.clear(); 
    } 
    _samples = _saHelper.searchList(getSearch()); 


    } 
    getAgronomers().clear(); 
    getGrowers().clear(); 
} 
    public ArrayList<SampleAlter> getSamples() { 
    return _samples; 
} 
    public ArrayList<SampleAlter> getFilteredSamples() { 
    return _filteredSamples; 
} 


public void setFilteredSamples(ArrayList<SampleAlter> filteredSamples) { 
    this._filteredSamples = filteredSamples; 
} 
} 
+0

alterSampleController.filteredSamples 속성이 있습니까? –

+0

@ JaqenH'ghar 예, 코드를 편집하여 지금 보여줍니다. – SkaiiNyght

+0

몇 가지 제안 사항 : 양식을 중첩하지 않았는지 확인하십시오 (ID는 사용자가 ...임을 나타냄). 대화 상자 안에 양식을 넣어보십시오, 나는 일반적으로 권장하는 것을 믿습니다. appendToBody = "true"를 사용 해보십시오. –

답변

0

나는 netbeans 7.3을 사용 중이며 netbeans를 업데이트하기로 결정했습니다. 일반적으로 이것은 코드에 어떤 영향도 주어져서는 안된다는 것을 알고 있습니다. 내가 업데이트 할 때까지 모든 것이 잘 작동했다. netbeans를 완전히 제거하고 다시 설치해야했습니다. 나는 이것을 해결책이라고 부르지 않겠지 만 다른 누군가가 7.3을 실행하면 최근 업데이트가 실행되고 모든 것이 작동을 멈추고 완전한 제거와 재설치를 시도합니다.

관련 문제