Job*_*obi 4 c# asp.net-mvc telerik kendo-ui
我想手动编辑单元格,并根据输入的数据自动显示另一个单元格上的内容.
对于例如:如果数量已更改,则应计算总计(价格*数量)并在总计列上显示结果

是否可以使用Kendo网格?任何帮助赞赏.
对的,这是可能的.如果搜索"KendoUI Grid calculated field",您可以在互联网上找到一些信息.
解决方案取决于您选择的编辑模式的类型("内联","incell"或"弹出").由于我没有在您的网格中看到任何用于触发编辑的按钮的列,我将理解您正在编辑incell.然后解决方案拦截save事件并计算该字段.
让你DataSource定义为:
var ds = {
data : [
{ Id: 1, ItemName: "Galaxy", Price: "25000", Qty: 2, Total: 50000 },
{ Id: 1, ItemName: "Lumia", Price: "18000", Qty: 1, Total: 18000 },
{ Id: 1, ItemName: "Experia", Price: "10000", Qty: 3, Total: 30000 }
],
schema : {
model: {
id : "Id",
fields: {
Id : { type: 'number' },
ItemName : { type: 'string' },
Price : { type: 'number' },
Qty : { type: 'number' },
Total : { type: 'number', editable: false }
}
}
}
};
Run Code Online (Sandbox Code Playgroud)
然后你的网格应该是这样的:
var grid = $("#grid").kendoGrid({
dataSource: ds,
editable : "incell",
pageable : false,
columns :
[
{ field: "ItemName", title: "Item Name" },
{ field: "Price", title: "Price" },
{ field: "Qty", title: "Qty" },
{ field: "Total", title: "Total" }
]
}).data("kendoGrid");
Run Code Online (Sandbox Code Playgroud)
您需要添加到Grid定义的是save事件处理程序,它检查哪个字段已使用更改e.values(e接收的事件信息在哪里save)并计算新的Total并使用set模型上的方法设置它.
save : function (e) {
if (e.values && (e.values.Qty || e.values.Price)) {
var qty = e.values.Qty || e.model.Qty;
var price = e.values.Price || e.model.Price;
e.model.set("Total", price * qty);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7435 次 |
| 最近记录: |