我想在点击submit按钮后呈现数据表。
<p:commandButton value="Submit" action="#{MenuBean.getValues}"
type="submit" partialSubmit="true" process="statemenu,dist,@this"
style='font-family: font-family : Baskerville, "Baskerville Old Face",
"Hoefler Text", Garamond, "Times New Roman", serif;
font-size: 14px; font-weight: normal'
update=":form:table,:form:filter"></p:commandButton>
<p:dataTable id="table" value="#{DataTable.dataTable}" var="table"
lazy="true" rowKey="#{table.sheet_no}" selectionMode="single"
selection="#{DataTable.selectedSheet}" scrollable="true"
scrollHeight="150" rendered="#{DataTable.loaded}"
style="widht:400px ; margin-left:200px;margin-right:25px">
</p:dataTable>
<h:panelGrid id="filter" columns="1" cellpadding="10" cellspacing="2"
rendered="#{DataTable.filter}"
style="position:absolute;bottom:15px;right:150px;border: 1px solid #1f497d;box-shadow: 10px 10px 25px #888888;
height:auto;width:600px;Text-align:center;">
<p:outputLabel value="Filter your search to get result."></p:outputLabel>
</h:panelGrid>
这是后台bean
public String getValues() {
DataTable.isLoaded = true;
DataTable.Filter = false;
System.out.println("getting the values");
System.out.println(DataTable.isLoaded);
System.out.println(DataTable.Filter);
System.out.println(state);
System.out.println(district);
return "hello";
数据表。isLoaded = true;数据表。Filter = false;是可访问的静态布尔值。当isLoaded变为true时,我想显示表格并隐藏过滤面板。怎么做??
<p:dataTable id="disptable" value="#{DataTable.dataTable}"
var="table" lazy="true" rowKey="#{table.sheet_no}"
selectionMode="single" selection="#{DataTable.selectedSheet}"
scrollable="true" scrollHeight="150" rendered="#{DataTable.loaded}"
style="widht:auto ; margin-left:300px;margin-right:30px"
widgetVar="tabl">
<p:column headerText="Sheet Number" style="width:25%">
<h:outputLabel value="#{table.sheet_no}"></h:outputLabel>
</p:column>
<p:column headerText="State" style="width:25%">
<h:outputLabel value="#{table.state_cd}"></h:outputLabel>
</p:column>
<p:column headerText="District" style="width:25%">
<h:outputLabel value="#{table.district_cd}"></h:outputLabel>
</p:column>
<p:column headerText="Details" style="width:25%">
<h:commandLink title="Complete Details" value="Complete Details"></h:commandLink>
</p:column>
<f:facet name="footer">
<p:commandButton id="selectButton" icon="imagesshow.png"
update=":form:disp" oncomplete="PF('Dialog').show()"
process="@this,table" style="height:25px;"
action="#{tabs.addTabs}" ajax="true" />
<!-- Count of Items Selected : -->
</f:facet>
</p:dataTable>
你的组件似乎是有点超载的属性似乎没有必要,例如partialSubmit, process, selection, scrollable等。这应该不是实际的问题,但是限制错误的可能性可以帮助我们更接近解决方案。
一些要点:
-
这三个元素在同一个表单中吗?你正在使用:form:table和form:filter在你的更新,这并不清楚你正在使用什么形式
-
是getValues()给你在控制台的任何输出或它甚至没有调用?你也不需要返回一个String,一个void方法就可以完成这项工作
-
尝试使用#{menuBean。
-
尝试更新@form,而不是特定元素