Dojo 1.5。私はこのようなそのメニュー項目のためのonclickを聴くdojo EnhancedGridコンテキストメニュー - メニュー項目のonclickイベントからrowIndexを取得する方法は?
<div dojoType="dijit.Menu" id="rowMenu" style="display: none;">
<div dojoType="dijit.MenuItem" id="menuUsers">Add/Edit Users</div>
</div>
:私はrowMenuがそうのように定義されている強化されたグリッド持って、私はaddEditUsersでe.rowIndexを使用しようとすると
dojo.connect(dijit.byId("menuUsers"), "onClick", addEditUsers);
を、それは未定義です。私は、ユーザーが右のクリック行を取得する方法を見つけ出すことができました唯一の方法は、別の行リスナーである:rowContextMenuから
dojo.connect(dijit.byId("grid"), "onRowContextMenu", rowContextMenu);
()、e.rowIndexが利用可能ですので、私は得ることができます
var item = e.grid.getItem(e.rowIndex);
console.log(e.grid.store.getValue(item, 'name')); // this will show the value of a 'name' column for the row the user right clicked.
を使用して行データは、だから私は(例えばcurrentContextItem)/グローバルオブジェクトを切り替えるためにこれを使用することができますが、お奨めは、より簡単なアプローチでありますように思えます。コンテキストメニュー項目リスナーからrowIndex/dataに直接アクセスする方法はありませんか?私はgrid.selection.getSelected()を使用できないことに注意してください。これは、ユーザーが最後にクリックした行が残っているからです。
私はもう少し掘り下げて、あなたが正しいと確信していますので、これを受け入れています。 – czervik