我开始使用kendo.ui并且在构建网格时遇到了一些问题。
我打算添加一个包含2列的网格。第一个用户输入。第二个是只读的。第二列中的值将来自DB。
首先,我希望我的网格只有一个空白行才为空。 用户在第一列输入代码,按回车键。这将计算第二列中的值,并应添加一个新行。
剑道应该很容易,但我遇到了麻烦。
$('#divGrid').kendoGrid({
columns: [
{ field: "Partnumber" },
{ field: "Quantity" }
],
dataSource: {
data: [
{ Partnumber: "", Quantity: '' },
],
},
editable: {
mode: "inline"
}
});
这只会添加一个空行,因为我使用的是空数据源。
我尝试过将其设置为可编辑,以便用户可以进行输入。但似乎两个细胞都可以编辑。
提前致谢
安德烈
答案 0 :(得分:0)
现在意识到没有人回答这个问题,我找到了解决方法。
使用更改事件,我可以在引入后“保存”该行。只需要等待回复。 我使用了剑道进度来阻止用户与网格进行交互。
$('#divGrid').kendoGrid({
columns: [
{ field: "Partnumber" },
{ field: "Quantity" }
],
dataSource: {
data: [],
schema: {
model: {
fields: {
Partnumber: { type: "string", validation: { required: true } },
Quantity: { type: "string" }
}
}
},
change: function (e) {
// Other code here
if (e.action === "itemchange" && e.field === "Partnumber") {
kendo.ui.progress(loading, true);
var data = grid.dataSource.data();
data[0].set('Partnumber', kendo.toString(obj[0].qty, "n0"));
data[0].set('Quantity', kendo.toString(obj[0].stock, "n0"));
}
}
},
editable: {
mode: "inline"
}
});
希望这有助于任何人。
安德烈