Jsf 获取数据表的列表

Jsf 获取数据表的列表,jsf,Jsf,我有下面的数据表 <t:dataTable id="data" styleClass="dataTabel" headerClass="standardTable_Header" footerClass="standardTable_Header" rowClasses="dataTable_Row1,dataTable_Row2" columnClasses="standardTable_Column,standardTable_C

我有下面的数据表

    <t:dataTable id="data" styleClass="dataTabel"
        headerClass="standardTable_Header" footerClass="standardTable_Header"
        rowClasses="dataTable_Row1,dataTable_Row2"
        columnClasses="standardTable_Column,standardTable_Column,standardTable_Column,standardTable_Column,standardTable_ColumnCentered"
        var="order" value="#{orderList.searchResult}"
        preserveDataModel="true" rowId="#{order.id}"
        sortColumn="#{orderList.sort}" sortAscending="#{orderList.ascending}"
        preserveSort="true">


        <h:column>
            <h:selectBooleanCheckbox value="#{order.selected}" />
        </h:column>

        <h:column>
            <f:facet name="header">
                <t:commandSortHeader columnName="number" arrow="false"
                    immediate="false">
                    <f:facet name="ascending">
                        <t:graphicImage url="/images/arrow_up.jpg" border="0" alt="" />
                    </f:facet>
                    <f:facet name="descending">
                        <t:graphicImage url="/images/arrow_down.jpg" border="0" alt="" />
                    </f:facet>
                    <h:outputText value="#{messages['order_number']}" />
                </t:commandSortHeader>
            </f:facet>
            <t:commandLink action="go_orderForm" immediate="true">
                <h:outputText value="#{order.number}" />
                <t:updateActionListener property="#{orderForm.orderId}"
                    value="#{order.id}" />
            </t:commandLink>
        </h:column>
    </t:dataTable>
方法
orderList.createBatchOrder()
将在我单击它时执行。 但是属性
result
(将在方法
getSearchResult()
中设置)在
createBatchOrder()
中将为空


如何在中的方法
createBatchOrder()

中获取行对象,您可以使用ajax添加ajax并使用行索引更新backing bean中的值。对于您的用例,bean的范围可能是错误的。请尝试提供一个
t:datatable
is?战斧?
private List<Order> result = new ArrayList<Order>();
public List<Order> getSearchResult() {
    if ((this.searchPattern != null) && (this.searchPattern.length() > 0)) {
        this.result = EJBFactory.getOrderManager().searhOrderByNumber(
                this.searchPattern);
    } else {
        this.result = this.getCurrentOrders();
    }

    return this.result;
}
    <h:commandLink action="#{orderList.createBatchOrder}">
        <h:outputText value="#{messages['order_new_batch']}" />
    </h:commandLink>