Ticket #2081: patch.patch
| File patch.patch, 1.6 kB (added by guest, 2 years ago) |
|---|
-
src/widget/FilteringTable.js
123 123 } 124 124 return null; // HTMLTableRow 125 125 }, 126 getRowByKey: function(/*String*/ key){ 127 // summary 128 // Finds the row in the table based on the key in the store. 129 var rows = this.domNode.tBodies[0].rows; 130 for(var i=0; i<rows.length; i++){ 131 if(dojo.html.getAttribute(rows[i], "value") == key){ 132 return rows[i]; // HTMLTableRow 133 } 134 } 135 return null; // HTMLTableRow 136 }, 126 137 getColumnIndex: function(/* string */fieldPath){ 127 138 // summary 128 139 // Returns index of the column that represents the passed field path. … … 652 663 var a = self.store.getField(self.getDataByRow(rowA), field); 653 664 var b = self.store.getField(self.getDataByRow(rowB), field); 654 665 if(meta.sortFunction!=null){ 655 var ret = field.sortFunction(a, b);666 var ret = meta.sortFunction(a, b); 656 667 } else { 657 668 var ret = 0; 658 669 if(a > b) ret = 1; … … 915 926 self.render(); 916 927 }); 917 928 dojo.event.connect(this.store, "onAddData", function(addedObject){ 918 var row=self.createRow(addedObject); 919 self.domNode.tBodies[0].appendChild(row); 929 var row = self.getRowByKey(addedObject.key); 930 if (!row){ 931 row=self.createRow(addedObject); 932 self.domNode.tBodies[0].appendChild(row); 933 }else{ 934 for(i in self.columns){ 935 var meta = self.columns[i]; 936 self.fillCell(row.cells[i], meta , addedObject.src[meta.field]); 937 } 938 } 920 939 self.render(); 921 940 }); 922 941 dojo.event.connect(this.store, "onAddDataRange", function(arr){