我的OnDemandGrid与dstore Trackable和Memory商店相关联。最初,设置具有空数组的存储器。获取实际数据并将其设置到网格中时,网格不会显示完整数据。它总是显示100行。
此外,如果任何列已排序,则它会显示整组数据。
以下列方式创建网格
this.grid = new (declare([Grid, Selection, ColumnHider,ColumnResizer,Keyboard, Selector]))({
// use Infinity so that all data is available in the grid
//className: "dgrid-autoheight",
showHeader: true,
collection: self.memStore,
minRowsPerPage : 100,
bufferRows: 10,
pagingDelay : 15,
farOffRemoval : 2000,
columns: modifiedColumnList,
selectionMode: "extended",
//pagingLinks: true,
//pagingTextBox: true,
//firstLastArrows: true,
//rowsPerPage: 100,
//pageSizeOptions: [100, 150, 250],
adjustLastColumn : true,
loadingMessage: 'Loading data...',
noDataMessage: 'No data.',
allowSelect: function(row){
return true;
},
keepScrollPosition: true
},this.domNode);
内存存储以下列方式创建
var TrackableMemoryStore = (declare([Memory, Trackable]));
数据按以下方式设置
self.memStore = new TrackableMemoryStore({ data: gridData, idProperty: "SRVC_ORDER_ID",defaultNewToStart : true });
self.grid.set("collection", self.memStore);
答案 0 :(得分:0)
这听起来像是在dgrid 0.4.1和1.0.0中标识的issue,如果在网格实际显示之前调用startup
,就会发生这种情况。
在大多数情况下,这应该在您自己的代码中修复,因为startup
只应在网格元素在文档流中之后调用。但是,Dijit的StackContainer恰好在它们真正显示之前调用了所有子节点上的startup
,但通常会因为它实际上在resize
之后调用message
显示。
master,dev-1.0和dev-0.4分支上存在此问题的修复,因此如果您使用其中一个分支的最新提交,则应解决此问题。
(顺便说一句,在早期版本中,网格最终会立即从商店请求所有数据,这对于大型或基于服务器的商店来说绝对不是一件好事。)