如何在Primefaces数据表延迟加载中显示搜索结果集

时间:2013-03-06 02:55:15

标签: jsf jsf-2 primefaces lazy-loading filtering

我们正在使用Primefaces数据表延迟加载,以显示搜索结果(例如:搜索学生)。数据表的工作原理如下......

请点击此处查看搜索结果http://xomf.com/gdnrn

但是,我们需要有一个输入字段和一个查找按钮。当我们点击查找按钮时,输入字段中提供了一些条件:

1.数据表应该呈现并

2.Lazy loading应该将给定的输入字段值带入从lazyDataModel覆盖的load方法

我们已经完成了1,但在2中苦苦挣扎。

我目前使用查找按钮的代码是:

studentsearch result.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<div class="form_container">
    <p:panel header="Search Student">
        <h:form id="findStudent">
            <div class="attribute_row">
                <h:outputLabel styleClass="span"
                    value="Student name" />
                <h:inputText styleClass="common_form_textbox_large"
                    value="Student name" />
            </div>
            <div class="attribute_row">
                <h:outputLabel styleClass="span"
                    value="Agency Code" />
                <h:inputText styleClass="common_form_textbox_medium"
                    value="Agency Code" />
            </div>
            <div class="attribute_row">
                <h:commandButton styleClass="common_form_button margin_left"
                    id="showButton" value="Find"
                    action="#{StudentManagedBean.findAgency}">
                </h:commandButton>
            </div>
        </h:form>
        <h:form rendered="#{AgencyManagedBean.dataTableRenderValue}">
            <p:dataTable var="var1" value="#{StudentManagedBean.lazyModel}" 
                 paginator="true" rows="5" id="stuTable" rowsPerPageTemplate="5,10,15"
                 paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
                 lazy="true">
                 <p:column headerText="StudentRollNumber" sortBy="#{var1.rollNumber}" filterBy="#{var1.rollNumber}"  
                        filterMatchMode="exact">
                        <h:outputText value="#{var1.rollNumber}"
                            ></h:outputText>
                    </p:column>
                     <p:column headerText="StudentName" sortBy="#{var1.name}" filterBy="#{var1.name}">
                        <h:outputText value="#{var1.name}"
                            ></h:outputText>
                    </p:column>
                <p:column headerText="StudentRank" sortBy="#{var1.rank}" filterBy="#{var1.rank}">
                        <h:outputText value="#{var1.rank}" 
                            ></h:outputText>
                    </p:column>
                    <p:column headerText="StudentDepartment" sortBy="#{var1.department}" filterBy="#{var1.department}">
                        <h:outputText value="#{var1.department}"
                            ></h:outputText>
                    </p:column>
            </p:dataTable>
        </h:form>
    </p:panel>
</div>

有人可以帮忙吗?!! 提前谢谢。

0 个答案:

没有答案