空格,一列用于输入,另一列用于输出

时间:2016-03-17 15:22:41

标签: kendo-ui kendo-grid

我开始使用kendo.ui并且在构建网格时遇到了一些问题。

我打算添加一个包含2列的网格。第一个用户输入。第二个是只读的。第二列中的值将来自DB。

首先,我希望我的网格只有一个空白行才为空。 用户在第一列输入代码,按回车键。这将计算第二列中的值,并应添加一个新行。

剑道应该很容易,但我遇到了麻烦。

$('#divGrid').kendoGrid({
                        columns: [
                         { field: "Partnumber" },
                         { field: "Quantity" }
                        ],
                        dataSource: {
                            data: [
                              { Partnumber: "", Quantity: '' },
                            ],
                        },
                        editable: {
                            mode: "inline"
                        }
                    });

这只会添加一个空行,因为我使用的是空数据源。

我尝试过将其设置为可编辑,以便用户可以进行输入。但似乎两个细胞都可以编辑。

提前致谢

安德烈

1 个答案:

答案 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"
                    }
                });

希望这有助于任何人。

安德烈