gpt4 book ai didi

javascript - 如何在 Angular-JS 中为特定行项目声明 closeCell() 方法

转载 作者:行者123 更新时间:2023-12-03 04:07:11 26 4
gpt4 key购买 nike

我有一个可编辑的网格,但在行的特定列上,如果它满足某些要求,我希望使其稳定(不可编辑),

这是我的网格的代码

$scope.Grid = {
dataSource : new kendo.data.DataSource({
schema: {
model: {
id: 'Id',
fields: {
Id:{type:'number'},
Name: { type: "string" },
Description: { type: "string" },
Remarks: { type: "string" },
ApprovalStatus: { type: "string" }

}
}
}
}),
selectable: true,
sortable: true,
resizable: true,
scrollable: false,
edit: edit,
save: update,

这些是我的编辑和更新功能

function edit(e) {

e.model.Id = e.model.Id == "" ? 0 : e.model.Id;

if(e.model.ApprovalStatus === 'Waiting')
{
$('#Grid').data("kendoGrid").closeCell();
}

}

function update(e) {

var Data = {
Id: e.model.Id != "" && e.model.Id > 0 ? e.model.Id : 0,
Name: e.model.Name,
Description: e.model.Description,
Remarks: e.model.Remarks,
ApprovalStatus: e.model.ApprovalStatus
}

ciSetUp.setPayLoad({ Info: Data });
ciSetUp.postdata(e.model.Id).then(function () {
console.log(ciSetUp.postcreatedata);
});


}

因此,如果 ApprovalStatus 等于等待,则“批准状态”字段应变为不可编辑,这是我无法获得的。

它在 if 条件之前工作正常,但循环内的内容不执行

最佳答案

不要使用 $('#Grid').data("kendoGrid").closeCell();,而是使用 e.sender.closeCell();

编辑:上面的答案是针对incell编辑模式的。使用内联编辑模式时,请改用e.sender.cancelRow();

参见this Plunker demo .

关于javascript - 如何在 Angular-JS 中为特定行项目声明 closeCell() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44499326/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com