gpt4 book ai didi

javascript - 更改隐藏字段值时的 Kendo UI 网格触发更新方法

转载 作者:行者123 更新时间:2023-11-30 20:36:56 25 4
gpt4 key购买 nike

由于某些原因,我需要在使用 KendoUI 网格时定义一个隐藏列:

    var fields = {
ID: { type: "string", editable: true, nullable: false },
HideID : { type: "string", editable: false, nullable: false ,hidden: true },
Name: { type: "string", editable: true, nullable: false }
};
var ColumnsDefine = [
{ field: "ID", title: "ID", width: 100 },
{ field: "HideID", hidden: true },
{ field: "Name", title: "Name", width: 100 }
];

我使用 JavaScript 更改了 HideID 列的值(操作 dataItem),而没有编辑网格的记录。

更改隐藏字段的 JavaScript 代码如下所示(它在命令单击函数中)

    var tr = $(e.target).closest("tr");
var data = this.dataItem(tr);
data.HideID = "123";

现在的问题是,当我单击默认更新按钮时,后台更新方法没有被调用,因为我没有对任何可见列进行更改。但是,如果我修改任何可见的列并单击更新,HideID 和另一个字段将在后台成功更新。

我应该怎么做才能通知 KendoUI 网格其数据已更改并通过单击更新按钮触发更新方法?

最佳答案

您的网格 dataItem 将是 kendo.data.ObservableObject ;您需要使用 set() 以剑道框架看到更改的方式设置您的 HideID 属性方法:

var tr = $(e.target).closest("tr");
var data = this.dataItem(tr);
data.set("HideID","123");

完成后,您应该会发现它的 dirty 字段设置为 true。这向数据源发出信号,表明此对象有更改需要通过 update 方法保存。

另请参阅这篇文章,它很好地解释了 observableObject 如何用于绑定(bind) https://docs.telerik.com/kendo-ui/framework/mvvm/observableobject#set-field-values

希望这对您有所帮助!

关于javascript - 更改隐藏字段值时的 Kendo UI 网格触发更新方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49726808/

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