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);
});
}
EasyUI

