有没有人知道如果kendo网格可以始终设置为编辑模式?Can Kendo Grid可以一直处于编辑模式吗?
我们不希望用户点击单元格或按钮来激活编辑模式。我们希望它的小部件能够随时显示并可用。
有没有可能?
有没有人知道如果kendo网格可以始终设置为编辑模式?Can Kendo Grid可以一直处于编辑模式吗?
我们不希望用户点击单元格或按钮来激活编辑模式。我们希望它的小部件能够随时显示并可用。
有没有可能?
除了使用批处理编辑模式,您可以尝试设置每个列的模板并使用MVVM将输入元素绑定到数据项。
$("#grid").kendoGrid({
dataSource: {
schema: {
model: {
id: "id",
fields: {
id: { editable: false }
}
}
}
data: [
{ id:1, age: 30, name: "John Doe" }
]
},
columns: [
{ field: "id", width: 50 },
{ field: "age", template: "<input data-bind='value: age' data-role='numerictextbox'>" },
{ field: "name", template:"<input data-bind='value: name' >" }
],
dataBound: function() {
var rows = this.tbody.children();
var dataItems = this.dataSource.view();
for (var i = 0; i < dataItems.length; i++) {
kendo.bind(rows[i], dataItems[i]);
}
}
});
这里有一个现场演示:http://jsbin.com/ApoFobA/2/edit
我发现上面的回答是优秀的。然而,一个问题是,Kendo在刷新网格时(例如排序或筛选时或调用refresh()时)不会清除绑定并删除网格的DOM元素。结果是dataItems将有越来越多的“更改”事件排队 - 有点内存泄漏。这可以通过在dataBinding事件中解除绑定来避免,如下所示:
dataBinding: function() {
var rows = this.tbody.children();
for (var i = 0; i < rows.length; i++) {
kendo.unbind(rows[i]);
}
}
谢谢。这是我所需要的最接近的答案。 – ThiagoPXP
谢谢你。这对我来说很好,直到我启用了分组,并且按列对输入字段进行分组时,所有内容都被清空了。一个问题下来,还有一个要去...... :) – wavedrop