1

我在我的网格中遇到了这个值的问题。

看起来它没有将我传递给网格配置的可观察项与总项目一起使用。

我在三个不同的选项卡中有三个 koGrid。所有这些都使用相同的初始化:

data-bind="koGrid: {data: records,
                                         autogenerateColumns: false,
                                         isMultiSelect: false,
                                         displayRowIndex: false,
                                         displaySelectionCheckbox: false,
                                         enablePaging: true,
                                         pageSizes: pageSizes,
                                         pageSize: pageSize,
                                         totalServerItems: totalItems,
                                        footerTemplate: 'koGridDebugFooter',
                                         currentPage: currentPage,                                        
                                         columnDefs:[
                                            {field: 'Created', width:300},
                                            {field:'Name', width:300},
                                            {field: 'Value', width:300}                                            
                                         ]} ">

我在服务器中有 12 行,当我指定页面大小为 10 时,服务器项目总数保持在 10,因此导航按钮保持禁用状态。

如果我添加一个带有我的视图模型值的标签,即 viewmodel.totalServerItems,它包含的值是正确的值 (12),但页脚显示的是不同的值 (10)。

我在 kogrid 的定义中修改了这些行:

/***********************************************
* FILE: ..\Src\GridClasses\Footer.js
***********************************************/
kg.Footer = function (grid) {
    var self = this;

    this.maxRows;

    //if (grid.config.totalServerItems() !== null && grid.config.totalServerItems() !== undefined) {
        this.maxRows = grid.config.totalServerItems; //observable
    //} else {
    //    this.maxRows = grid.maxRows; //observable
    //}

所以现在我总是将 observable 设置为这个参数。我看到的唯一风险是调用者没有设置参数。但我总是这样做。

难道我做错了什么?你知道另一种解决方案吗?

谢谢!

4

1 回答 1

2

totalServerItems 在分页选项中,如下所示:

self.PagingOptions = {
            pageSizes: ko.observableArray([10, 20, 50]),
            pageSize: ko.observable(10),
            totalServerItems: ko.observable(0),
            currentPage: ko.observable(1)
        };
于 2013-04-29T13:34:15.100 回答