【发布时间】:2014-01-03 01:27:18
【问题描述】:
感谢 kendo-kendo 软件包,我正在使用带有 kendo 的 kendo grid。
我有网格和网格的配置定义如下:
<div id="gridResult" data-bind="kendoGrid: gridOptions"> </div>
模板:
<script id="rowTmpl" type="text/html" >
<tr >
<td data-bind="text: PermitNumber"></td>
<td data-bind="text: WorkTypeDescription"></td>
....
</tr>
</script>
我的视图模型中的代码:
// search result
this.SearchResult = ko.observableArray();
this.gridOptions = {
data: self.SearchResult,
pageable: { pageSize: 20 },
useKOTemplates: true,
rowTemplate: "rowTmpl"
}
我填充了数据源,一切正常。
但是,我使用的是 Knockout.js-External-Template-Engine,它适用于整个应用程序的各种模板,但不适用于用于剑道网格行的模板。
我尝试通过两种方式进行设置:
在 gridOptions.rowTemplate 中命名外部模板(但我不知道如何将数据对象的引用传递给外部模板引擎,所以放弃这个)
-
让 gridOptions.rowTemplate 指向 html 文件中的“伪模板”,并在其中定义对外部模板的引用,将其传递为 $data 作为数据上下文,如下所示:
<script id="rowTmpl" type="text/html" > <!-- ko template: {name: 'gridRow', data: $data}--> <!-- /ko --> </script>
外部模板gridRow.tmpl.html如下:
<tr >
<td data-bind="text: PermitNumber"></td>
<td data-bind="text: WorkTypeDescription"></td>
....
</tr>
但是,它不起作用 - 在页面加载期间检查网络请求时,没有加载剑道行模板的请求。
知道如何让它工作吗?
编辑 我刚刚注意到,当我将行模板移动到外部文件时,我收到以下 javascript 错误,即使在页面中使用 rowTemplate inline 可以正常工作。
ReferenceError: gridOptions 未定义
【问题讨论】:
标签: templates knockout.js kendo-grid knockout-kendo