グリッドでこの値に問題があります。
合計アイテムでグリッド構成に渡すオブザーバブルを取得していないようです。
3 つの異なるタブに 3 つの 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
//}
そのため、常にオブザーバブルをこのパラメーターに設定しています。私が見る唯一のリスクは、呼び出し元がパラメーターを設定していない場合です。しかし、私はいつもそれをやっています。
私は何か間違ったことをしていますか?別の解決策を知っていますか?
ありがとう!