【问题标题】:Pagination in Suitescript 2.0 NetsuiteSuitescript 2.0 Netsuite 中的分页
【发布时间】:2018-12-04 07:10:23
【问题描述】:

我尝试在 suitescript 2.0 中实现 netsuite 分页,prev 按钮正在工作,但它不是 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';
            }

【问题讨论】:

    标签: netsuite suitescript suitescript2.0


    【解决方案1】:

    您应该从客户端脚本传递当前/请求的 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'
        });
    })
    

    你做错了什么是你从最后一个索引开始,然后试图获取不存在的数组索引,以防用户点击下一步。

    注意:上一个按钮应该在没有页面的地方被禁用/隐藏,以免遇到同样的错误,下一个按钮也可以这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多