如何在Primefaces数据表中的行和页之间移动

如何在Primefaces数据表中的行和页之间移动,primefaces,primefaces-datatable,Primefaces,Primefaces Datatable,我想要一个代码,在datatable中的行之间上下移动,用put两个按钮,在最后一行转到下一页 我可以编写一个在行之间移动的代码,但我不能转到最后一行的下一页。我的代码在这里,它有两个用于行间上下移动的函数(tableWidgetVar是datatable widgetvar): 有人知道如何转到最后一行的下一个数据表页面吗?使用: PF(tableWidgetVar).getPaginator().next(); 有关分页器的来源,请参阅 另见: 您需要两个条件,如果您在页面的第一行或最

我想要一个代码,在datatable中的行之间上下移动,用put两个按钮,在最后一行转到下一页

我可以编写一个在行之间移动的代码,但我不能转到最后一行的下一页。我的代码在这里,它有两个用于行间上下移动的函数(tableWidgetVar是datatable widgetvar):

有人知道如何转到最后一行的下一个数据表页面吗?

使用:

PF(tableWidgetVar).getPaginator().next();
有关分页器的来源,请参阅

另见:


您需要两个条件,如果您在页面的第一行或最后一行,当您在最后一行时转到下一页,当您在第一行时转到上一页。为此,您必须使用
PF(tableWidgetVar).paginator
。但当你们在第一页或最后一页时,你们有两个额外的条件,因为你们并没有下一页或上一页。按如下方式编辑代码:

downRow = function (tableWidgetVar) {
    if (PF(tableWidgetVar).selection.length === 0) {
         PF(tableWidgetVar).selectRow(0);
         return;
    }
    var index = PF(tableWidgetVar).originRowIndex;
    var rows = PF(tableWidgetVar).tbody[0].childElementCount;
    index++;
    if (index === rows) {
        if (PF(tableWidgetVar).paginator.getCurrentPage() === PF(tableWidgetVar).paginator.cfg.pageCount - 1) {
            return;
        }else {
            PF(tableWidgetVar).getPaginator().next();
            \\or PF(tableWidgetVar).paginator.setPage(PF(tableWidgetVar).paginator.getCurrentPage() + 1);
            index = 0;
        }
    }
    PF(tableWidgetVar).unselectAllRows();
    PF(tableWidgetVar).selectRow(index);
    PF(tableWidgetVar).originRowIndex = index;
},

upRow = function (tableWidgetVar) {

    var rows = PF(tableWidgetVar).tbody[0].childElementCount;
    var index = PF(tableWidgetVar).originRowIndex;
    if (index === 0) {
        if(PF(tableWidgetVar).paginator.getCurrentPage()=== 0){
            return;
        }else {
            PF(tableWidgetVar).paginator.setPage(PF(tableWidgetVar).paginator.getCurrentPage() - 1);
                index = rows - 1;
        }
    } else {
        index--;
    }
    PF(tableWidgetVar).unselectAllRows();
    PF(tableWidgetVar).selectRow(index);
    PF(tableWidgetVar).originRowIndex = index;
},
downRow = function (tableWidgetVar) {
    if (PF(tableWidgetVar).selection.length === 0) {
         PF(tableWidgetVar).selectRow(0);
         return;
    }
    var index = PF(tableWidgetVar).originRowIndex;
    var rows = PF(tableWidgetVar).tbody[0].childElementCount;
    index++;
    if (index === rows) {
        if (PF(tableWidgetVar).paginator.getCurrentPage() === PF(tableWidgetVar).paginator.cfg.pageCount - 1) {
            return;
        }else {
            PF(tableWidgetVar).getPaginator().next();
            \\or PF(tableWidgetVar).paginator.setPage(PF(tableWidgetVar).paginator.getCurrentPage() + 1);
            index = 0;
        }
    }
    PF(tableWidgetVar).unselectAllRows();
    PF(tableWidgetVar).selectRow(index);
    PF(tableWidgetVar).originRowIndex = index;
},

upRow = function (tableWidgetVar) {

    var rows = PF(tableWidgetVar).tbody[0].childElementCount;
    var index = PF(tableWidgetVar).originRowIndex;
    if (index === 0) {
        if(PF(tableWidgetVar).paginator.getCurrentPage()=== 0){
            return;
        }else {
            PF(tableWidgetVar).paginator.setPage(PF(tableWidgetVar).paginator.getCurrentPage() - 1);
                index = rows - 1;
        }
    } else {
        index--;
    }
    PF(tableWidgetVar).unselectAllRows();
    PF(tableWidgetVar).selectRow(index);
    PF(tableWidgetVar).originRowIndex = index;
},