0
我遇到了具有k-細節模板作爲行結構的kendo網格的問題。 KendoUI版本v2014.3.1411(劍道UI Q3 2014 SP2)KendoUI kendo網格與k-細節模板不會觸發更新
這是html代碼:
<div kendo-grid="mainGrid" id="mobileRole" k-options="mainGridOptions">
<div k-detail-template>
<div id="users_#= id #" kendo-grid k-options="loadUsers(dataItem)"></div>
</div>
</div>
我可以編輯主行標籤(即「RoleBA_test」),則該行修改成功,但是當我刷新網格它再次顯示舊的標籤,這意味着更新已本地製造的,但尚未觸發到服務器。
怪異的發生在我刪除
<div k-detail-template>
在這種情況下
的更新成功觸發服務器和行撐甚至網格刷新後修改。 這是mainGridOptions和負載的用戶我的角度javascript代碼:
mainGridOptions
$scope.mainGridOptions = gridOptions({
dataSource: jData({
read: {
url: function (data) {
return "api/read/rest_call";
}
},
update: {
url: function (data) {
return "api/update/rest_call";
},
beforeSend: function() {
blockUI.start();
},
complete: function (data, status) {
$scope.$evalAsync(function() {
blockUI.stop();
if (status.toLowerCase() != 'error') {
$scope.editing = false;
} else {
//error
}
});
},
global: false
},
destroy: {
url: function (data) {
return "api/destroy/rest_call
},
beforeSend: function() {
blockUI.start();
},
complete: function (data, status) {
$scope.$evalAsync(function() {
blockUI.stop();
if (status.toLowerCase() != 'error') {
$scope.editing = false;
} else {
//error
}
});
},
global: false
},
create: {
url: function (data) {
return "api/create/rest_call";
},
beforeSend: function() {
blockUI.start();
},
complete: function (data, status) {
$scope.$evalAsync(function() {
blockUI.stop();
if (status.toLowerCase() != 'error') {
$scope.editing = false;
} else {
alertify.alert(data.statusText);
}
});
},
global: false
},
model: {
id: "id",
fields: {
id: {
type: "number"
},
name: {},
}
}
}).dataSource,
sortable: true,
columnMenu: true,
resizable: true
});
loadUsers
$scope.loadUsers = function (dataItem) {
return gridOptions({
dataSource: jData({
read: {
url: function() {
return "api/read/rest_call/";
}
},
model: {
id: "id",
fields: {
id: {
type: "number"
},
}
}
}).dataSource,
sortable: true,
columnMenu: true,
width: '90%',
resizable: true,
dataBound: function (e) {
onDataBound.call(this, 'mobileRoleUsers', dataItem);
}
});
};
有沒有人有同樣的問題?
謝謝大家。
這段代碼做了什麼:'onDataBound.call(this,'mobileRoleUsers',dataItem);'如果你刪除它,你的場景是否按預期工作? – dimodi
嗨@dimodi,感謝您的評論,我試圖刪除它,但它仍然不會更新休息電話。 – BitRider