您是否可以从子详细信息表中更新主表而不使主表崩溃?
我正在运行这段代码:
update: {
url: "/engine.php?q=updateProjectDetails",
dataType: "json",
complete: function(e){
var parentRow = $('tr').closest(".k-detail-row").prev();
var grid = parentRow.closest("[data-role='grid']").data("kendoGrid");
var parentDataItem = grid.dataItem(parentRow);
parentDataItem.set("tscore", JSON.parse(e.responseText).d[0].tscore);
}
}
当它从子表运行集合时,主表将折叠其所有子元素,仅在主表(数据源)中进行1列更新。
是否有解决此问题的方法,基本上,只保留扩展表并只更新该字段。
由于
答案 0 :(得分:0)
似乎并不那么容易:
set
时,它会更新主网格,导致刷新,然后所有行都会折叠。expandRow
之后扩展行(使用set
)并非易事:使用parentRow
调用grid.expandRow(parentRow);
不起作用,因为它刷新主时HTML似乎有所改变,然后不再有效。那么似乎的工作原理是保存行的uid
并使用它来再次查找parentRow
并展开它。类似的东西:
click: function (e) {
var parentRow = $(e.target).closest(".k-detail-row").prev();
//find parent grid
var grid = parentRow.closest("[data-role='grid']").data("kendoGrid");
//get the parent grid row DataItem
var parentDataItem = grid.dataItem(parentRow);
var uid = parentDataItem.uid;
parentDataItem.set("FirstName", "OnaBai");
grid.expandRow(grid.tbody.find("tr[data-uid='" + uid + "']"));
}
但这并不妨碍内部网格重新加载......