PDA

View Full Version : Store.findRecord by id



egukin
24 Sep 2011, 12:23 AM
I import some data from the server into my store. The model for that data has an ‘id’ field which contains the id of that element as received from the server. So, for instance, here’s an item with the id 28. The question is, why does it respond when I call an item with the id 2?

28284

The same item shows up when I call it as findRecord('id', 28)

2 is not the index of this item either.

fbchen
24 Sep 2011, 3:20 AM
Ext.data.Store.findRecord(String fieldName, String/RegExp value, [Number startIndex], , [Boolean caseSensitive], Boolean exactMatch)
By default, the value is not exact matched in this method. In the frist step, the value is converted into a String, even if it is a Number, and in your exapmle here, 2 becomes '2'?so the returned item is accidental, say the first match one is '28'.
To achieve exact match, use [B]getById instead, or findRecord('id', '2', 0, false, true, true)