Dojo 增强网格和程序化选择



这是我的问题:在我的应用程序中,我有一个Dojo EnhancedGrid,由ItemFileReadStore备份。页面流如下所示:

  1. 用户从选择列表中选择一个值。
  2. 列表中的项目发布在服务器上,然后使用来自服务器的数据更新网格(不要问为什么,这就是它应该的工作方式)
  3. 新项将在网格中突出显示。

现在,前两步就像一个魅力;然而,第三步让我有些头疼。将数据成功发布到服务器后(通过 dojo.xhrPost() ),将运行以下代码:

myGrid.store.close();
myGrid._refresh();
myGrid.store.fetch({
    onComplete : function(items) {
        for ( var i = 0; i < items.length; i++) {
             if (items[i].documentType[0].id == documentTypeId) {                                               
                 var newItemIndex = myGrid.getItemIndex(items[i]);
                 exportMappingGrid.selection.deselectAll();
                 exportMappingGrid.selection.addToSelection(newItemIndex);
             }
     }
      }
     });

现在,网格的选择已更新(即选择对象的 selectedIndex> 0),但视觉上没有响应,除非我将鼠标悬停在"selected"行上。如果我删除 .deselectAll() 行(我怀疑这是罪魁祸首),那么我有时会一次选择两个项目,尽管网格选择模式属性设置为单个

对此有什么想法吗?

多谢。

你需要使用 setSelected(),就像这样

exportMappingGrid.selection.setSelected(newItemIndex, true);

第二个参数为 true 表示选择该行,为 false 表示取消选择该行。

这是对我有用的:

grid.selection.clear();
grid.selection.addToSelection(newItemIndex);
grid.selection.getFirstSelected();

乔恩

相关内容

  • 没有找到相关文章

最新更新