我正在使用 Dojo 1.5(包括 dojox)。我有一个 dojox.grid.DataGrid ,其中每一行代表一个用户。当我单击一行时,我想重定向到 /users/USER_ID 之类的 URL。用户 ID 是网格中的字段之一,因此我在 onRowClick 回调中需要做的就是获取被点击行的用户 ID。
click 事件包含一个 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 是行不通的。这是因为网格是可排序的,所以不能保证网格的行与商店的行顺序相同。
任何提示将不胜感激。我希望这个问题很清楚,并且足够笼统,以至于任何答案都可以帮助我陷入困境的其他人。非常感谢。