这是我的问题:在我的应用程序中,我有一个 Dojo EnhancedGrid,由 ItemFileReadStore 支持。页面流程如下所示:
- 用户从选择列表中选择一个值。
- 列表中的项目发布在服务器上,然后使用来自服务器的数据更新网格(不要问为什么,这就是它应该工作的方式)
- 新项目在网格中突出显示。
现在,前两个步骤就像一个魅力;然而,第三步让我有些头疼。数据成功 POST 到服务器后(通过 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),但视觉上没有响应,除非我将鼠标悬停在“选定”行上。如果我删除 .deselectAll() 行(我怀疑它是罪魁祸首),那么有时我会一次选择两个项目,尽管 grid selectionMode属性设置为single。
对这个有什么想法吗?
非常感谢。