Javascript 分页不适用于KO网格

Javascript 分页不适用于KO网格,javascript,jquery,gridview,knockout.js,knockout-2.0,Javascript,Jquery,Gridview,Knockout.js,Knockout 2.0,我正在使用KO grid,它似乎可以很好地加载所有数据。现在,我正在处理分页部分,它似乎不能正常工作。是的,我在底部进行分页控制,但当它能够决定页面大小时,它似乎不起作用。根据https://github.com/ericmbarnard/KoGrid/wiki/Configuration 1.页面大小:[5,10,25]--似乎显示选项,但当我将选择从5更改为10时,它似乎无法处理这些选项。 2.pagesize://somenumber——破坏代码 我在JSFIDLE上有它的工作模型: 有什

我正在使用KO grid,它似乎可以很好地加载所有数据。现在,我正在处理分页部分,它似乎不能正常工作。是的,我在底部进行分页控制,但当它能够决定页面大小时,它似乎不起作用。根据
https://github.com/ericmbarnard/KoGrid/wiki/Configuration

1.页面大小:[5,10,25]--似乎显示选项,但当我将选择从5更改为10时,它似乎无法处理这些选项。 2.pagesize://somenumber——破坏代码

我在JSFIDLE上有它的工作模型:


有什么建议吗?

好吧,KoGrid中的分页似乎没有发挥您所希望的魔力

以下是GitHub上KoGrid wiki的示例链接:

在查看HTML页面的源代码时,可能会看到视图模型声明的开头,而无需滚动(当然,这取决于屏幕分辨率)。无论如何,这是从第30行开始的

请注意,视图模型中有一个名为
pageSize
的可观察对象,它被设置为50

向下滚动一点,可以看到名为
filter
sort
getPagedDataAsync
的函数,用于过滤数据、排序数据和为当前页面创建数据集

以下是
getPagedDataAsync
函数的代码:

this.getPagedDataAsync = function (pageSize, page, filterInfo, sortInfo) {
    setTimeout(function () {
        var data = window.getExampleData();
        var filteredData = filter(data(), filterInfo);
        var sortedData = sort(filteredData, sortInfo);
        var pagedData = sortedData.slice((page - 1) * pageSize, page * pageSize);
        self.myObsArray(pagedData);
    }, 0);
};
在看不到视图模型其余部分的详细信息的情况下,通过阅读上面的代码,您应该能够知道,此函数首先检索要在此示例页面中显示的所有数据,然后过滤数据并对数据进行排序

然后,对数据数组进行切片以提取当前页面要查看的数据,并将该切片传递给
myObsArray
可观察数组,该数组用于在网格中显示数据

下面是本例中网格的声明:

<div id="sandBox" class="example" style="height: 600px; max-width: 700px;" 
    data-bind="koGrid: { 
        data: myObsArray,
        columnDefs: [ 
            { field: 'Sku', width: 140 },
            { field: 'Vendor', width: 100 },
            { field: 'SeasonCode', displayName: 'Season Code', width: 150 },
            { field: 'Mfg_Id', displayName: 'Mfg ID', width: 180 },
            { field: 'UPC', width: 170 }
        ],
        autogenerateColumns: false,
        isMultiSelect: false,
        enablePaging: true,
        useExternalFiltering: true,
        useExternalSorting: true,
        filterInfo: filterInfo,
        sortInfo: sortInfo,
        pageSize: pageSize,
        pageSizes: [25, 50, 75],
        currentPage: currentPage,
        totalServerItems: totalServerItems,
        selectedItem: selectedItem }">
</div>
页面设置仅处理JS更改,但页面工具(上一页、下一页等)在我在koGrid声明中添加了
totalServerItems
选项之后才处于活动状态


同样,如果您有任何问题,请告诉我。

我已更新了viewModel以模拟示例的行为。它加载到我的本地服务器上,但仍然不根据我所做的更改设置分页。我将代码发布在Fiddle上,但它似乎不起作用:
pageSize: pageSize,
currentPage: currentPage,
totalServerItems: totalServerItems,
selectedItem: selectedItem