Mvvm 带有声明式编辑器模板的剑道网格

Mvvm 带有声明式编辑器模板的剑道网格,mvvm,kendo-ui,kendo-grid,Mvvm,Kendo Ui,Kendo Grid,希望有人能帮我-我已经盯着这个8个小时了,似乎找不到解决办法。我正在尝试实现一个非常简单的剑道UI MVVM网格。网格只有一个带有附加类别的角色列表。单击“编辑”时,栅格应允许进行内联编辑,并且“类别”列应变为下拉列表,这是一个也绑定到视图模型中某个字段的模板 以下是我的JSFIDLE: 标记: <script type="text/x-kendo-template" id="someTemplate"> <select class="form-control cate

希望有人能帮我-我已经盯着这个8个小时了,似乎找不到解决办法。我正在尝试实现一个非常简单的剑道UI MVVM网格。网格只有一个带有附加类别的角色列表。单击“编辑”时,栅格应允许进行内联编辑,并且“类别”列应变为下拉列表,这是一个也绑定到视图模型中某个字段的模板

以下是我的JSFIDLE:

标记:

<script type="text/x-kendo-template" id="someTemplate">
    <select class="form-control categories" data-auto-bind="false" data-value-field="CategoryId" data-text-field="Description" data-bind="source: categories"></select>
</script>
<div class="manage-roles">
  <div data-role="grid"
         data-scrollable="true"
         data-editable="inline"
         data-columns='[
                            { "field" : "JobTitle", "width": 120, "title" : "Job Title Code" },
                            { "field" : "Description" },
                            { "field" : "Category", "template": "${Category}","editor" :kendo.template($("#someTemplate").html()) },
        {"command": "edit"}]'
         data-bind="source: roles"
         style="height: 500px">
    </div>
</div>
我还没有弄明白为什么编辑器模板没有绑定下拉列表。当我对模板使用相同的标记而不是使用${category}绑定到类别名称时,它适用于模板属性。(由于某些原因,这在fiddle中不起作用。但是完全相同的代码在本地工作)


在这一点上,我会接受任何建议/方法。我真的很想使用MVVM,而不是.kendoGrid()语法,但如果做不到,我会忘记的。有人了解编辑器模板的使用情况吗?

您仍然可以使用MVVM构建网格,但我认为您必须使用函数调用来定制编辑器

因此,您只需调用一个函数,而不是
“editor”:kendo.template($(“#someTemplate”).html())

edit: rolesViewModel.categoryEditor


参见示例

是的,事实上,这就是我最后不得不做的。显然,要做到这一点,您需要使用剑道小部件(就像您在jsbin中所做的那样)。我希望只是声明性地使用它(这样我就可以控制HTML输出),但这看起来不太可能。我认为问题在于,调用kendo.bind时编辑器的脚本模板实际上不存在,而是在实际编辑行时放入。因此,可以使用脚本,但您必须调用kendo.bind(一些疯狂的选择器,rolesViewModel)才能使其工作。我试过了,但没能。
edit: rolesViewModel.categoryEditor