【问题标题】:kendo grid column: how to data bind click event in footer template?剑道网格列:如何在页脚模板中绑定点击事件?
【发布时间】:2017-06-01 07:09:31
【问题描述】:

页脚模板中的 Kendo Grid 列的数据绑定单击事件不起作用。

请看例子http://dojo.telerik.com/ALAZo

价格列模板上的点击事件工作正常,但页脚模板却没有。

任何使用 MVVM 绑定的解决方案都将不胜感激

【问题讨论】:

    标签: kendo-ui grid


    【解决方案1】:

    默认情况下,Grid 的页眉和页脚不绑定到 ViewModel。一种解决方法是在网格初始化后使用适当的 jquery 选择器找到页脚,然后手动绑定它。所以是这样的:

    kendo.bind($("body"), viewModel);
    kendo.bind($("#grid").find(".k-grid-footer"), viewModel);
    

    在这里,为了找到它,我已将 id="grid" 添加到您的网格声明中:

    <div id="grid" data-role="grid" data-bind="source:dataSource"
    

    【讨论】:

    • kendo.bind 到页脚元素将解决此问题。有什么方法可以改变默认行为,即 Grid 的页眉和页脚未绑定到 ViewModel,以便我们可以显式避免绑定。
    • 很遗憾,现在不是。网格上没有配置选项可以自动执行此操作,但如果 Telerik 收到足够的请求,他们可能会在未来版本中更改此设置(如果您拥有 Kendo UI 许可证,您可以为未来版本请求新功能)。
    • 我明白了,我会提出请求。将其标记为答案,因为重新绑定就可以了。我正在(重新)将视图模型绑定到网格的数据绑定事件的页脚列中的一个元素,以便每次数据源发生更改时都会触发它。
    【解决方案2】:

    我有reworked your example 以获得点击事件在列和页脚模板上都起作用的解决方案。

    &lt;a onclick='test()'... 似乎可以解决问题。

    【讨论】:

    • 此方法中缺少 MVVM 绑定。所以它不是一个可接受的解决方案:(。
    • 好吧,我没有在 OP 的任何地方看到指定... “任何分辨率都将不胜感激” 可能应该更改为 “任何分辨率使用 MVVM 绑定将不胜感激” ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-11
    • 2013-10-18
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多