asp.net-mvc - 如何在剑道模板中动态设置列

标签 asp.net-mvc kendo-ui asp.net-mvc-5 kendo-grid kendo-asp.net-mvc

如何在剑道模板中为剑道网格动态设置列。在我的剑道网格中,列会根据用户偏好动态更改。如何动态创建剑道模板?我正在使用剑道 JavaScript,如果同样的事情,我可以切换到剑道 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 用于 MVC,但我仍然可以解释如何使用常规 kendo 函数来执行此操作。

基本上,您可以通过将 html 字符串传递给 kendo.template 来创建新的剑道模板实例。 .然后您可以将新模板实例分配给网格的 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();

关于asp.net-mvc - 如何在剑道模板中动态设置列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36745018/

相关文章:

css - 如何在默认的 Kendo 样式上加载不同的 Kendo UI Slider

html - 隐藏 Kendo DatePicker 按钮 - 有选择地(CSS)

jquery - 更改 Kendo Date Picker Jquery 的图标类

c# - 条件模型状态合并

javascript - 如何使用 jquery 或 javascript 获取单选按钮 Id 值

c# - ASP.NET MVC 中的异步错误 Controller

c# - 如何从 API 获取数据并将其插入数据库而不在 ASP.NET MVC 中重复?

c# - 理论上空闲时 VS2013 预览高 cpu 使用率

asp.net - 如何在 ASP.NET MVC 5.2.3 应用程序中的其他位置获取 IAppBuilder 的实例?

asp.net-mvc - 页面重定向不起作用