我想从子窗口更改kendoGrid中单元格的值这是我的父窗口代码(考虑到我有kendoGrid):
function onDataBound(e) {
var grid = $("#Grid").data("kendoGrid");
$("#d_roz").on("keypress", function (e) {
if (e.keyCode == 13) {
{
grid.addRow();
}
}
});
$(grid.tbody).on("keydown", "td", function (ev) {
if (ev.keyCode == 13) {
var row = $(this).closest("tr");
var rowIdx = $("tr", grid.tbody).index(row);
var colIdx = $("td", row).index(this);
//var data = grid.dataItem(grid.tbody.find('tr:eq(' + colIdx + ')'));
// console.log(data.cod1);
var cod1 = e.sender._data[rowIdx].cod1;
var sh_cod1 = e.sender._data[rowIdx].sh_cod1;
if (colIdx == 0 && is_open_find == false) {
cellSender = e.sender._data[rowIdx]; //this is a global variable I use
childWindow = window.open(testu, "_blank", null, false);
}});});
在我的子窗口中,我有以下代码:
id = ui.item.id; //this is the value I wanted from child window
window.opener.isPosted = true;
window.opener.cellSender.cod1 = id; // and I will change the value of cell here
self.close();
问题是单元格值会发生变化,但kendo不会显示更改,直到我重新关注我不想这样做的网格。
我该怎么做?
答案 0 :(得分:1)
您需要获取Grid的选定dataItem,然后更新该dataItem对象中的值而不是单元格。