Ticket #2081: 00-FilteringTable-r7337-fix.patch
| File 00-FilteringTable-r7337-fix.patch, 1.4 kB (added by aferber@…, 23 months ago) |
|---|
-
src/widget/FilteringTable.js
124 124 } 125 125 return null; // HTMLTableRow 126 126 }, 127 getRowByKey: function(/* mixed */key){ 128 // summary 129 // Finds a row in the table based on the key value. 130 var rows = this.domNode.tBodies[0].rows; 131 for (var i=0; i<rows.length; i++){ 132 if(dojo.html.getAttribute(rows[i], "value") == key){ 133 return rows[i]; // HTMLTableRow 134 } 135 } 136 return null; // HTMLTableRow 137 }, 127 138 getColumnIndex: function(/* string */fieldPath){ 128 139 // summary 129 140 // Returns index of the column that represents the passed field path. … … 921 932 self.render(); 922 933 }); 923 934 dojo.event.connect(this.store, "onUpdateData", function(updatedObject){ 924 var oldRow = self.getRow (self.store.getDataByKey(updatedObject[self.store.keyField]));935 var oldRow = self.getRowByKey(updatedObject.key); 925 936 var newRow = self.createRow(updatedObject); 926 937 self.domNode.tBodies[0].replaceChild(newRow, oldRow); 927 938 self.render(); … … 936 947 }); 937 948 dojo.event.connect(this.store, "onUpdateDataRange", function(arr){ 938 949 for(var i=0; i<arr.length; i++){ 939 var old=self.getRow (self.store.getDataByKey(arr[i][self.store.keyField]));950 var old=self.getRowByKey(arr[i].key); 940 951 var row=self.createRow(arr[i]); 941 952 self.domNode.tBodies[0].replaceChild(row, old); 942 953 };