Dojo 1.5 (dojox を含む) を使用しています。各行がユーザーを表す dojox.grid.DataGrid があります。行をクリックすると、/users/USER_ID のような URL にリダイレクトしたいと考えています。ユーザー ID はグリッド内のフィールドの 1 つなので、onRowClick コールバックで行う必要があるのは、クリックされた行のユーザー ID を取得することだけです。
クリック イベントには rowIndex プロパティが含まれています。実際、別の場所で (かなり古い) 投稿を見つけました。
var row = dijit.byId('grid').model.getRow(e.rowIndex);
/* (Then grab the 0th field of the row, which is the user ID.) */
(申し訳ありませんが、その後、URLを紛失しました。)
しかし、私のグリッド オブジェクトにはモデル属性がありません。どうしたの?API は変更されましたか? (私のグリッドには確かにデータが入力されており、表示、クリック、列による並べ替えなどを行うことができます)。
だから私は今のところ立ち往生しています。ところで、rowIndex を使用してグリッドの基礎となる dojo.data.ItemFileReadStore に直接アクセスしても機能しないことに注意してください。これは、グリッドが並べ替え可能なため、グリッドの行がストアの行と同じ順序になるという保証がないためです。
ヒントをいただければ幸いです。質問が明確であり、回答が私の苦境にある他の人を助けることができるほど十分に一般的であることを願っています. どうもありがとう。