<p:dataGrid Primefaces 6.2

问题描述 投票:0回答:0

我有以下显示数据。

<p:dataGrid
            id="employeeList"
            var="employee"
            rowIndexVar="rowIndex"
            value="#{sampleController.employeeRecords}"
            columns="1"
            layout="grid"
            rows="10"
            paginator="true"
            emptyMessage="No items to display..." > ..... </p:dataGrid>

我的

controller(sampleController)
有以下getter setter

private List<EmployeeVo> employeeRecords;
public List<EmployeeVo> getEmployeeRecords()
{
    return employeeRecords;
}

public List<EmployeeVo> setEmployeeRecords()
{
    return employeeRecords;
}

并有另一种方法将值设置为

employeeRecords
如下所示

public void loadEmployee(){
     
    List<EmployeeVo> list = //call to DB
    setEmployeeRecords(list);
    
    }

一切正常,除了分页。每当我点击

page numbers
时,控件不止一次进入 getter 方法 (setEmployeeRecords()),列表中的值被操纵,最终结果不正确。

为什么点击页码会带我到 getter 方法,它不是在客户端级别管理的吗?

注意我没有做任何getter或setter。它们是普通的 getter 和 setter。设置值仅在以下情况下完成一次:

public void loadEmployee(){
         
        List<EmployeeVo> list = //call to DB
        setEmployeeRecords(list);
        
        }

每当我点击页码时,电话也永远不会打到那里。

jsf primefaces pagination
© www.soinside.com 2019 - 2024. All rights reserved.