|
Title: Datagrid bug - insertRow method shows wrong position when detail is expanded Post by: alansydney on March 18, 2015, 12:29:51 AM this bug in datagrid-detailview-my.js's "insertRow" method. because the view1 view2 calculation is incorrect.
My insert method to fix the problem: before you insert row, you have to remove all detail grid from DOM. then readd to DOM after call $tt.datagrid("insertRow", { index: 0, row: parent }); insertParentGrid2: function() { var allDetailRows = []; $('.datagrid-row-detail').each(function() { var p = this.parentNode; allDetailRows.push({ detail: this, parent: this.parentNode }); //this.removeNode(true); // IE works great this.parentNode.removeChild(this) // chrome and IE p.innerHTML = "\r\n<DIV class=datagrid-row-detail jQuery11110608320268685775=\"92\"> </DIV>"; }); var ev = incidentsData.OutstandingIncidents for (var i = 0; i < 10; i++) { var parent = { GridOrder: i, "Index": -1, "Key": Math.random(10), "LastUpdatedKey": "635609777245337744", "Time": "2015-03-03 11:08:24", "Message": "Inserted parents........", "Subject": "TR1", "IsExposed": true, "AffectedDPoP": "TR1", "Events": [ { "IsCleared": false, "Time": "2015-03-03 11:08:24", "Message": "BON-TMS status page RICs", "Subject": "TR1", "IsExposed": true, "AffectedDPoP": "TR1", "IsMarker": false, "Severity": "Minor" } ] }; // add to event for (var j = 0; j < 200; j++) { parent.Events.push({ "IsCleared": false, "Time": "2015-03-03 11:08:24", "Message": "Sub-grid: " + j, "Subject": "Sub Grid AffectedDPoP TR1", "IsExposed": true, "AffectedDPoP": "TR1", "IsMarker": false, "Severity": "Minor" }); } ev.push(parent); $tt.datagrid("insertRow", { index: 0, row: parent }); } $(allDetailRows).each(function() { this.parent.innerHTML = ''; this.parent.appendChild(this.detail); }); } |