gpt4 book ai didi

kendo-ui - Kendo Ui Grid - dataItem.set() 方法无法正常工作

转载 作者:行者123 更新时间:2023-12-02 19:59:44 27 4
gpt4 key购买 nike

我有一个包含 4 列的网格,名称、年龄、收藏、利润。但是当我尝试设置数字列时,它没有反射(reflect)在网格上。

schema:
{
model:{
fields:{
name:{type:"string"},
age:{type:"number"},
collection: { type:"number", defaultValue:0.00},
profit: { type:"number", defaultValue:0.00}
}
}
}

此代码完美运行:

var grid = $("#grid").data("kendoGrid");
var data = grid.dataSource.at(0);
data.set("name", "John Doe");

但我想更新数字列:

var grid = $("#grid").data("kendoGrid");
var data = grid.dataSource.at(0);
var collectionVal = 50000;
data.set("collection", collectionVal);

并且它不会更新,因为该列的类型为“number”。

更新:

pageable: 
{
refresh : true,
pageSizes: true
},
edit: function(e)
{
$('input[name="age"]').blur(function()
{
mygrid = $("#grid").data("kendoGrid");
selectedRow = mygrid.select();
dataItem = mygrid.dataItem(selectedRow);

dataItem.collection = dataItem.age * dataItem.profit;
dataItem.set("collection", dataItem.collection);
});
}

最佳答案

不要在 edit 中定义的 blur 处理程序中更新 collection,而是定义一个 save 事件处理程序你的网格如下:

pageable  : {
refresh : true,
pageSizes: true
},
save : function (e) {
var profit = e.values.profit || e.model.profit;
var age = e.values.age || e.model.age;
this.dataSource.getByUid(e.model.uid).set("collection", age * profit);
}

关于kendo-ui - Kendo Ui Grid - dataItem.set() 方法无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17162233/

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