如何在Kendo网格的Kendo模板中动态设置列.在我的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>
编辑:在Kendo网格中,我们动态设置列.现在问题是我们如何设置content表和头表的动态宽度.如果超过最大宽度,我们如何启用水平滚动条.有没有办法实现这一点?
解决方法
我没有使用kendo的MVC,但我仍然可以解释如何使用常规kendo功能.
基本上,您可以通过将html字符串传递给kendo.template来创建新的kendo模板实例.然后,您可以将新的模板实例分配给网格的rowTemplate(或altRowTemplate),然后调用dataSource.read()强制刷新网格.
您可以生成自己的html字符串或更新页面中的现有模板,然后使用jquery的html()将其转换为字符串.
例如:
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();