繁体   English   中英

Suitescript 2.0 Netsuite中的分页

[英]Pagination in Suitescript 2.0 Netsuite

我试过在suitescript 2.0中实现netsuite分页,上一个按钮可用,但返回的不是20个搜索数据,而是整体返回。 下一步按钮不起作用总是抛出错误INVALID_PAGE_RANGE

这是套件代码

         var loadSearch = search.load({
            id: 'customsearch_inv123'

        });
        var i = 0;

        var pagedData = loadSearch.runPaged({
            pageSize: 20
        });

        pagedData.pageRanges.forEach(function (pageRange) {

            var lastPageRange = pagedData.pageRanges[pagedData.pageRanges.length - 1];

            var Page = pagedData.fetch({
                index: lastPageRange.index
            });

            if (context.request.parameters.next) {
                Page = Page.next(); 
            }

            if (context.request.parameters.prev) {
                Page =Page.prev();
            }

            Page.data.forEach(function (result) {

                var number = result.getValue({
                    name: 'inventorynumber'
                });

                if (number) {

                    updateSublist.setSublistValue({
                        id: 'custpage_number',
                        line: i,
                        value: number
                    });
                }


                i++;

            });
        });


        // submit button

        form.addSubmitButton({
            label: 'Submit'
        });

        form.addButton({
            id: '_next',
            label: 'Next',
            functionName: 'next'
        });

        form.addButton({
            id: '_prev',
            label: 'Prev',
            functionName: 'prev'
        });


        form.clientScriptModulePath = 'SuiteScripts/client.js';

在客户端脚本中,我编写了next和prev函数,并使用next或prev参数重定向到同一页面,并基于该页面调用了page.next和page.prev。

如果您已执行此操作,请帮助我。

这是客户代码。

 next: function () {
                window.location.href = 'example.com' + '&next=t';
            },

            prev: function () {
                window.location.href = 'example.com' + '&prev=t';
            }

您应该从客户端脚本传递当前/请求的pageNumber,然后使用它来获取该特定页面的数据,如下所示

var pagedData = loadSearch.runPaged({
    pageSize: 20
});

requestedPageNumber = 2

var page = pagedData.fetch({ index: requestedPageNumber });

page.data.forEach(function (result) {
    // result is the searchResult object
    // YOUR CODE GOES HERE
    var number = result.getValue({
        name: 'inventorynumber'
    });
})

您做错的是,您从上一个索引开始,然后尝试获取不存在的数组索引,以防用户单击下一步。

注意:在没有页面的情况下,应该禁用/隐藏上一个按钮,以免遇到相同的错误,并且对下一个按钮也可以执行相同的操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM