我有一个dojo(1.8.1)DataGrid,我无法检索DataGrid中的所有选定项目(网格中大约有171条记录)。问题是返回到selectedItem的一些数据是null。
有趣的是,如果我一直滚动到DataGrid的底部然后运行下面的代码,我会得到所有记录。这很奇怪..
var gridy = dijit.byId("grid");
var items = gridy.selection.getSelected();
if (items.length) {
dojo.forEach(items, function(selectedItem) {
if (selectedItem !== null) {
dojo.forEach(gridy.store.getAttributes(selectedItem),
function(attribute){
var value = gridy.store.getValues(selectedItem, attribute);
alert('attribute: ' + attribute + ', value: ' + value);
});
}
});
}
因此,当选择网格中的所有项目时(171)我只显示50个显示为选中的项目,其余项目对于selectedItem变量为null。奇怪的问题,似乎是DataGrid中的一个错误?
THX !!
答案 0 :(得分:1)
可能是由于paging
(见DataGrid-tutorial at "Paging and Virtual Scrolling")。 “一次只渲染一小部分数据”。因此,一个令人讨厌的解决方法可能是将rowsPerPage
- DataGrid
- 属性设置为高值(如1000
),然后进行实例化。它应该高于预期的最大值总是在网格中显示的行。