How to call javascript method from ClientTemplate

2019-01-25 11:17发布

Is it possible to put in the ClientTemplate of Kendo grid a javascript statement? I would like to calculate some data on the client and then to put the result in the row.

I tried this:

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

However, it gave no effect.

1条回答
Summer. ? 凉城
2楼-- · 2019-01-25 11:45

You can, with template literal syntax:

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

And bound your column as:

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

You can even write inline javascript simply using # if(...){# ... #}# syntax. This faq will help you.

查看更多
登录 后发表回答