xhtml
페이지에 <p:dataTable>
이 있습니다. 표에는 i 깅 bean에 대한 값이 표시되지 않습니다. 콩에 대한 getter가 호출되는 것을 알았고,이 빈에 항목이 있다는 것을 알았습니다. 왜이 아이디어입니까? Netbeans 7.3, JSF2.2, Tomcat 7, jdk1.7, primefaces 4.0. 여기 JSF DataTable에 값이 표시되지 않습니다.
<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;
}
}
alterSampleController.filteredSamples 속성이 있습니까? –
@ JaqenH'ghar 예, 코드를 편집하여 지금 보여줍니다. – SkaiiNyght
몇 가지 제안 사항 : 양식을 중첩하지 않았는지 확인하십시오 (ID는 사용자가 ...임을 나타냄). 대화 상자 안에 양식을 넣어보십시오, 나는 일반적으로 권장하는 것을 믿습니다. appendToBody = "true"를 사용 해보십시오. –