如何在Kendo模板中动态设置列

F11*_*F11 12 asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc asp.net-mvc-5

如何在Kendo模板中为kendo grid动态设置列.在我的kendo网格中,列可以根据用户的喜好动态更改.如何动态创建Kendo模板?我使用的是Kendo JavaScript,我可以切换到Kendo MVC,如果相同的话我可以在那里实现.有没有其他方法来实现这一目标?

<script id="rowTemplate" type="text/x-kendo-template">
        <tr class="k-master-row">

            <td>

                    <div>#=column1#</div>

            </td>
            <td><span class="mydesign" title="column2#"</span></td>
            <td>#column3#</td>
            <td>#=column4#</td>

        </tr>
    </script>
Run Code Online (Sandbox Code Playgroud)

编辑:在Kendo网格中,我们正在动态设置列.现在问题是我们如何设置内容表和标题表的动态宽度.如果超过最大宽度,我们如何启用水平滚动条.有没有办法实现这个目标?

The*_*urf 3

我没有将剑道用于 MVC,但我仍然可以解释如何使用常规剑道函数来执行此操作。

基本上,您可以通过将 html 字符串传递给kendo.template. 然后,您可以将新的模板实例分配给网格rowTemplate(或altRowTemplate),然后调用dataSource.read()以强制网格刷新。

您可以生成自己的 html 字符串或更新页面中的现有模板,然后使用 jqueryhtml()将其转换为字符串。

前任:

var htmlTemplate = '';
if (userPreferences.likeRed) {
    htmlTemplate ='<tr class="k-master-row"><td style="background-color:red">#column1#</td></tr>'
} else {
    htmlTemplate ='<tr class="k-master-row"><td style="background-color:green">#column1#</td></tr>'
}

$("#grid").data("kendoGrid").rowTemplate = kendo.template(htmlTemplate);
$("#grid").data("kendoGrid").dataSource.read();
Run Code Online (Sandbox Code Playgroud)