これが私の問題です。私のアプリケーションには、ItemFileReadStore によってバックアップされた Dojo EnhancedGrid があります。ページ フローは次のようになります。
- ユーザーが選択リストから値を選択します。
- リストのアイテムがサーバーに投稿され、グリッドがサーバーからのデータで更新されます (理由は聞かないでください。これが本来の動作です)。
- 新しいアイテムがグリッドで強調表示されます。
さて、最初の 2 つのステップは魔法のように機能します。ただし、3 番目のステップでは頭痛の種になりました。データが ( dojo.xhrPost() を介して) サーバーに正常に POST された後、次のコードが実行されます。
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() 行 (これが原因だと思われます) を削除すると、グリッドのselectionMode属性がsingleに設定されていても、一度に 2 つの項目が選択されることがあります。
これについて何か考えはありますか?
どうもありがとう。