如何从 Kendo 网格中的 ClientTemplate 调用 javascript 方法?

Posted

技术标签:

【中文标题】如何从 Kendo 网格中的 ClientTemplate 调用 javascript 方法?【英文标题】:How to call javascript method from ClientTemplate in Kendo grid? 【发布时间】:2013-11-18 02:32:36 【问题描述】:

是否可以在剑道网格的ClientTemplate 中放入javascript 语句? 我想在客户端计算一些数据,然后将结果放在行中。

我试过了:

 columns.Bound("ExecutionStartDateTime").Title("SummaryLine").Width("20%").ClientTemplate("<script> scheduleForm.generateSummary(#= ExecutionStartDateTime #, 2); </script>");

但是,它没有任何效果。

【问题讨论】:

【参考方案1】:

您可以使用模板文字语法:

<script>
    function someFuntion(date) 
        var result = "";
        // Do whatever you need here (make ajax call etc..) and return result as html string
        return result;
    
</script>

并将您的列绑定为:

columns.Bound("ExecutionStartDateTime").Title("SummaryLine").Width("20%")
    .ClientTemplate("#=someFuntion(ExecutionStartDateTime)#");   
// you can even pass 'data' implicit template parameter and extract ExecutionStartDateTime from there

您甚至可以简单地使用 # if(...)# ... ## 语法编写内联 javascript。 This faq 会帮助你。

【讨论】:

以上是关于如何从 Kendo 网格中的 ClientTemplate 调用 javascript 方法?的主要内容,如果未能解决你的问题,请参考以下文章

Kendo 数据网格 - 如何从嵌套的 JSON 对象设置列值?

弹出窗口在 Kendo UI 网格中的工作原理以及如何在 MVC4 的 Kendo UI ajax 网格中将控件带入弹出窗口

如何根据 kendo ui mvc 网格中的条件格式化行

Kendo UI Hierarchical datagrid - 如何从详细网格编辑器模板 MVVM 访问根视图模型

如何使用服务器的 JSON 响应对象(而不是完整对象)中的属性来填充 Kendo 网格?

如何根据 Kendo-Angular2-grid 中的数据自动调整网格列的大小?