2015-01-15 38 views
-1

如您所知,dgrid 0.4現在使用dstore包而不是dojo的存儲區。在dstore中使用Rest.js,我只想使用其餘的調用將新行添加到dgrid。這工作正常。但是,它會在dgrid的末尾(作爲最後一行)添加該行。我需要在開始處添加行(使新添加的行成爲dgrid的第一行)。在Rest.js裏面,有一個名爲defaultNewToStart的變量,我認爲這個變量可以實現,但即使設置爲true,dgrid仍會在最後添加行。有關如何在dstore中獲取Rest.js以便在dgrid的開頭添加一行的任何建議。添加一行以開始Dgrid而不是結束使用其他呼叫

+1

你能告訴你的代碼,你特別是如何建立你的商店和網格,所以我們可以看到,如果有可能是一個普遍忽視的錯誤呢? –

+0

是的,事實證明我犯了一個基本的錯誤,我敢打賭有人會被抓到。如果沒有相關代碼,我再也不會發布其他問題。 – user64141

回答

0

我想出了我做錯了什麼。在dgrid/OnDemandGrid中,我設置了屬性「sort」,它導致Trackable.js中的queryExecutor將新添加的行放在末尾而不是開頭。所以我所要做的就是刪除排序屬性,現在它工作正常。

+0

在你的辯護中,這不像我懷疑的那樣常見於一個錯誤,並且是一個值得注意的未來參考,所以感謝你報告結果。 –

-1

dstore/Memory的添加功能支持PutDirectives作爲您試圖插入的項目以外的第二個參數。 PutDirectives有一個屬性beforeId可用於在商店中的任何現有記錄之前插入該項目。

要在開始添加一個空行:

var beforeID = null; 
store.fetch().forEach(lang.hitch(this, function(data) { beforeId = data.id;})); 
store.add({id: ''}, {beforeId: beforeID}); 
相關問題