2012-11-07 62 views
1

我在我的網格中有這個值的問題。koGrid totalServerItems

它看起來好像沒有把可觀察到的東西傳遞給具有總項目的網格配置。

我在三個不同的選項卡中有三個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)。

I'have修改這些行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 
    //} 

所以,現在我總是設置可觀察到這個參數。 我看到的唯一風險是調用者未設置參數時。但我總是這樣做。

我做錯了什麼?你知道另一個解決方案嗎?

謝謝!

+0

你有沒有找到解決這個? – leojh

回答

2

的totalServerItems是尋呼octions像這裏面:

self.PagingOptions = { 
      pageSizes: ko.observableArray([10, 20, 50]), 
      pageSize: ko.observable(10), 
      totalServerItems: ko.observable(0), 
      currentPage: ko.observable(1) 
     };