除了遍歷商店中的記錄並檢查髒標誌,有沒有更清晰的方法?如何從ExtJS數據存儲中獲取髒記錄?
編輯
我使用ExtJS4,順便說一句。
這是返回的數據片段。注意到有一個dirty: true
與modified
目標集(這實際上是舊數據和data
對象包含新的數據)
data: Ext.Class.Class.newClass
items: Array[3]
0: Ext.Class.Class.newClass
data: Object
incidentCount: 14
incidentKey: "5466BD05-E4DD-4C1F-9F73-61ABAC6D3753"
dirty: true
id: "Ext.data.Store.ImplicitModel-TEDetailIncidencesStore-ext-record-13"
index: 0
internalId: "ext-record-13"
modified: Object
incidentCount: 7
通知的data
塊包含的14的incidentCount
這是NEW值和modified
塊包含的OLD值7.
編輯2
予裝載存儲與:
TimeEntryDetailsStore.load({
params:{
timeEntryKey:"myKey"
}
});
此火災後,將上述存儲被成功加載有3行。然後,當我改變的值時,髒標誌設置,你會得到數據的上述塊
感謝
編輯3
這是我要使用除非有人代碼一個更好的方法。我不明白爲什麼getUpdatedRecords()
返回一個空數組。但是,好吧。
for(c=0; c < TEDetailIncidencesStore.count(); c++) {
if(TEDetailIncidencesStore.data.items[c]["dirty"] == true) {
var dirtyRecord = TEDetailIncidencesStore.data.items[c];
updateTEDetailIncidences(dirtyRecord);
}
}
您可以發佈您的代碼SOEM而不是什麼是顯示在控制檯 – shane87 2011-06-09 15:32:50
順便說一句,'store.getNewRecords()'返回所有三個記錄。既髒又不髒? – cbmeeks 2011-06-09 15:42:05
那麼'TimeEntryDetailsStore.getUpdatedRecords()'返回什麼?只是一個空陣列。我真的需要看到你的網格和商店的代碼進一步研究。 – shane87 2011-06-09 15:47:38