javascript - Kendo Grid EditorTemplateName - 客户端绑定(bind)

标签 javascript asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc

我在两个单独的解决方案中使用 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/

相关文章:

javascript - Kendo 组合框总是选择第一个项目

javascript - 无法读取未定义的属性 'push' -Angular,Firebase

c# - ASP.NET MVC : 'Extend' Html. TextBox 有条件地具有 CSS 值?

mysql - 如何连接mvc和mysql?

asp.net-mvc - 升级现有项目以使用 Roslyn 编译器

javascript - 访问剑道窗口内按钮的单击事件

javascript - Angular2/ typescript : How to get an array of objects through Pipe?

javascript - Gridview 排序后运行回调

javascript - 根据显示位置动态更改弹出窗口的位置

javascript - 在剑道网格中从 ajax 呈现数据时如何显示微调器