我在两个单独的解决方案中使用 Kendo 编辑器模板,我在其中创建了如下模板
@using Kendo.Mvc.UI
@(Html.Kendo().NumericTextBox()
.Min(0)
.Decimals(0))
现在,要将其用作 Razor 语法中的编辑器模板,我将其附加到列中,如下所示:
columns.Bound(p => p.SomeField).EditorTemplateName("NumericTextBoxEditor");
一切正常,我的数字文本框不允许非数字输入。如果我通过在 Javascript 中声明列来尝试同样的事情,我将无法让它工作。有没有办法设置正确的编辑器模板,例如
var myColumns = [];
myColumns.push({
width: 100,
editor: "NumericTextBoxEditor"
});
或者它永远不会知道编辑器模板,因为它是服务器端的?
最佳答案
Or will it never know about the editor template due it being server side?
这是正确的。
在 JS 中,column.editor必须是一个函数,因此您不能直接使用服务器端编辑器模板。等效的内容是这样的:
columns: [{
field: "fieldName",
editor: function (container, options) {
var input = $('<input name="' + options.field + '" />');
input.appendTo(container);
input.kendoNumericTextBox({
min: 0,
decimals: 0
});
}
}],
关于javascript - Kendo Grid EditorTemplateName - 客户端绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23273908/