如何在剑道ui网格中创建单独的列模板
how to create separate column template in Kendo-UI grid
我开始在我的项目中使用剑道ui,我希望我的一个列显示一个图像按钮和一个字段,类似于这里的文档中的'联系人姓名'。然后我检查文档,得到如下代码:
columns: [{
template: "<div class='customer-photo'" +
"style='background-image: url(../content/web/Customers/#:data.CustomerID#.jpg);'></div>" +
"<div class='customer-name'>#: ContactName #</div>",
field: "ContactName",
title: "Contact Name",
width: 240
}, {
field: "ContactTitle",
title: "Contact Title"
}, {
field: "CompanyName",
title: "Company Name"
}, {
field: "Country",
width: 150
}]
我不认为直接在模板中写html是一个好方法,特别是对于一个非常复杂的模板。然后我从文档中找到了另一个解决方案。
"template": "kendo.template($('comments-template').html())"
这在我的场景中更明智。但是我很困惑在哪里定义模板更好。我也使用AngularJS。我是否应该创建一个新文件来编写模板或其他地方?
谢谢
columns.template
属性需要一个字符串或返回字符串的函数。您可以在HTML标记中使用<script>
标记…
<script id="script-template-id" type="text/x-kendo-template">
<div class="myClass">#: FieldName #</div>
</script>
...
<script>
// ...
columns: [{
title: "My Template Column",
template: $('#script-template-id').html()
}]
// ...
</script>
…或者使用在您喜欢的任何地方定义的字符串变量,包括外部JavaScript文件(考虑到它将足够早地注册以使变量可用):
var templateStringVariable = '<div class="myClass">#: FieldName #</div>';
// ...
columns: [{
title: "My Template Column",
template: templateStringVariable
}]
注意,这种语法将不起作用,因为JavaScript代码本身是字符串化的:
"template": "kendo.template($('comments-template').html())"
相关文章:
- Codrops页面转换.如何创建单独的按钮,而不是列表项目的效果
- 使用php创建的下拉列表中的选择单独填充文本区域
- 创建新数据和加载现有数据需要单独的视图吗
- d3.js如何为国家地图中的每个州创建一个单独的元素
- 画布创建两个单独的动画瀑布对象
- 从两个单独的函数创建 JQuery 悬停
- 创建单独的组件角度 2.
- 如何在创建动态输入文件时获取相同输入类型的单独 ID
- 从单独的 html 页面创建一个 dom 元素
- 创建单独的 js 文件进行包含
- 我是否必须为每个 webgl 程序创建单独的缓冲区
- 如何删除脚本并创建单独的js文件
- 从单独下载的 JPEG 创建影片时帧速率太慢
- 在两个单独的页面之间创建上滑过渡
- 如何使用骨干.js创建单独的模型、视图和控制器
- 如何为 cordova 应用程序创建一个单独的目录并在其中存储数据
- 如何使用 JSON 创建链接,单击这些链接时会显示在单独的
- 单独 HTML 文件的占位符表示法,用于创建网页的一小部分并将占位符替换为数据值
- 为每个选项卡单独创建 cookie
- 未捕获的ReferenceError: {var}未定义.文件是单独创建的