を行うことになっているものやっていない私は、次のミックスインは、JS /ウィジェット/ LoadAllStoreMixin.jsで宣言されていますカスタム_StoreMixinはdGridのために
define([ 'dojo/_base/declare', 'dgrid/_StoreMixin' ], function(declare,
_StoreMixin) {
return declare(_StoreMixin, {
// summary:
// dgrid mixin which implements the refresh method to
// always perform a single query with no start or count
// specified, to retrieve all relevant results at once.
// Appropriate for grids using memory stores with small
// result set sizes.
refresh : function() {
var self = this;
// First defer to List#refresh to clear the grid's
// previous content
this.inherited(arguments);
if (!this._renderedCollection) {
return;
}
return this._trackError(function() {
var queryResults = self._renderedCollection.fetch();
queryResults.totalLength.then(function(total) {
// Record total so it can be retrieved later via
// get('total')
self._total = total;
});
return self.renderQueryResults(queryResults);
});
},
renderArray : function() {
var rows = this.inherited(arguments);
// Clear _lastCollection which is ordinarily only used for
// store-less grids
this._lastCollection = null;
return rows;
}
});
});
これはOnDemandListできるようにするためにhttp://dgrid.io/tutorials/0.4/single_query/で書かれたものと同じウィジェットですただminRowsPerPage
レコードの代わりにすべてをロードしてください。それは、このように呼ばれている:
var gridDataString = dom.byId("connectedEnvironmentsAndLevelsGridData").innerHTML;
eval("var connectedEnvironmentsAndLevelsGridJsonData=" + gridDataString);
var connectedEnvironmentsAndLevelsStore = new Memory(
{ data: connectedEnvironmentsAndLevelsGridJsonData }
);
var SelectionGrid = declare([ Grid, LoadAllStoreMixin, Selection, Keyboard, DijitRegistry]);
connectedEnvironmentsAndLevelsGrid = new SelectionGrid({
store : connectedEnvironmentsAndLevelsStore,
selectionMode : "toggle",
columns : connectedEnvironmentsAndLevelsGridHeader,
allowSelectAll : true,
allowSelect: function(row) {
// disable the grid's rows basing on the phase compatibility
// if true, the row selection is enabled, otherwise disabled
return checkPhaseCompatibility(row);
}
}, "connectedEnvironmentsAndLevelsGrid");
// Grid is an OnDemandGrid, not a normal grid.
それが正しくロードされている(そうdefine([], function(){});
定型とは問題ありません)が、いくつかの理由で、それは最初if
でrefresh()
に返すので、それが何をしていませんそれはそうなっている。なぜこれが失敗するのか分かりません。 refresh()
とrenderArray()
の機能だけでなく、コードを書く必要がありますか?
実際に使用しているdgridのバージョンはわかりません。まだコレクションがない場合は、おそらく0.4より前です。 Dojo 1.8に付属するバージョンです。私たちはこのバージョンを簡単に変更することはできませんので、Dojo 1.8に付属のdgridバージョンの例が必要になるでしょう。 – Nzall
私はchangeLogをチェックしました。我々はdGrid 0.3.14を使用しています。 – Nzall
@Nzallは情報を追加して投稿を更新しました。 –