DataGrid返回null selectedItem

时间:2012-12-12 15:43:10

标签: dojo dojox.grid.datagrid

我有一个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 !!

1 个答案:

答案 0 :(得分:1)

可能是由于paging(见DataGrid-tutorial at "Paging and Virtual Scrolling")。 “一次只渲染一小部分数据”。因此,一个令人讨厌的解决方法可能是将rowsPerPage - DataGrid - 属性设置为高值(如1000),然后进行实例化。它应该高于预期的最大值总是在网格中显示的行。