2012-08-01 25 views
0

我已經搜索了dojo文檔,堆棧溢出以及使用螢火蟲徹底探究了EnhancedGrid對象本身,但我找不到答案。將dojox.grid.EnhancedGrid中已排序或已移除的行與dojo.data.ItemFileWriteStore進行比較

我具有增強的網格,與我值填充爲用戶排序上和基本上創建一個選擇集(使用indirectSelection插件)。然後他們有一個按鈕可以放大地圖上的選定項目。

的問題是,排序列時,它不會改變在賣場本身,我保持,告訴我如何在地圖上放大每個項目內的對象的項目的順序,所以我有沒有辦法調和grid.selection.selected陣列指數和store._arrayOfAllItems指數。

編輯:請注意,我堅持使用道場1.6,因爲它的烤到我使用的API。

回答

0

看一看Dojo Object Store Tutorial

您可以將idProperty設置爲存儲例如:

// add a new employee 
employeeStore.add({name:"George", department:"accounting"}); 
// remove Bill 
employeeStore.remove("Bill"); 
// retrieve object with the name "Jim" 
var jim = employeeStore.get("Jim"); 

而不是使用store._arrayOfAllItems

var employeeStore = new dojo.store.Memory({data:employees, idProperty: "name"}); 

然後你可以用id屬性使用GET方法是這樣操作店。這樣你的grid.selection對象將包含你的ID值而不是數組索引(假設你的網格的商店屬性是你的商店)。這是我猜測會發揮作用的部分,因爲我確信新的道場的dgrid這樣做,我鼓勵你使用它。

希望它有幫助,

+0

我明白你是什麼意思,這是一個更好的方式來訪問商店中的項目。在道場1.6是'store.fetchItemByIdentity()' 是'idProperty' 1.7事情嗎?我嘗試添加這一點,我的'grid.selection'仍然作爲填充'[真,假,真,真,假]' – mbuna 2012-08-02 19:44:37

+0

我能得到什麼,我需要增加一個ID列到網格,並使用'道場。查詢(「#queryGrid .dojoxGridRowSelected [idx $ = \」1 \「]」)'查找選定行的ids,以與商店進行比較。不是很漂亮,但現在就完成了。感謝您的幫助,這是我的第一篇文章,我允許你投票嗎?它指出我在正確的方向:P – mbuna 2012-08-02 23:37:38

+0

哈哈,不客氣@mbuna。這也是我的第一篇文章。所以我不確定是否:)。 idProperty在1.7以前爲我工作過。 – eburgos 2012-08-04 21:26:20

相關問題