我正在使用Dojo 1.5(包括dojox)。我有一個dojox.grid.DataGrid其中每行代表一個用戶。當我點擊一行時,我想重定向到像/ users/USER_ID這樣的URL。用戶ID是網格中的一個字段,因此我只需在onRowClick回調中執行的操作就是獲取被點擊的行的用戶ID。dojox.grid.DataGrid:如何從點擊事件訪問數據?
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。這是因爲網格是可排序的,所以不能保證網格的行將與商店的排序相同。
任何提示將深受讚賞。我希望這個問題是明確的,並且足夠一般,任何答案都可以幫助其他人解決我的困境。非常感謝。
謝謝!那就是訣竅。兩個後續問題:1)你能推薦一個關於如何完成這樣的任務的高級文檔的好資源?我一直在努力尋找超出Javadoc風格文檔級別的個人API,令我感到沮喪。 dojocampus.org似乎是最好的東西,但它有點多斑點。 2)在Dojo中,調用以下劃線開頭的方法是否合法?我曾假設他們是私人API。再次感謝,-qdw – qdw 2010-12-10 06:28:33