2013-05-02 197 views
0

我希望能夠利用數據屬性來處理配置我的網格,但無法弄清楚如何爲列設置groupHeaderTemplate如何使用數據屬性爲Kendo Grid列設置groupHeaderTemplate?

文檔建議我用data-group-header-templatehttp://docs.kendoui.com/getting-started/data-attribute-initialization

<table id="grid" 
    data-role="grid" 
    data-bind="source: dataSource"> 
    <thead> 
    <tr> 
     <th 
     data-field="ID" 
     data-group-header-template="t_name">ID</th> <!-- Doesn't work! :(--> 
     </tr> 
    </head> 
</table> 

<script> 
    kendo.bind($('body'), viewModel); 
</script> 

如何設置,而不直接調用$.fn.kendoGrid列上的組頭模板?

UPDATE:

我檢查了劍道電網的源代碼,它似乎並沒有設置在列定義的所有屬性。

作爲參考,在Grid._columns ...

// using HTML5 data attributes as a configuration option 
return { 
    field: field, 
    type: type, 
    sortable: sortable !== "false", 
    filterable: filterable !== "false", 
    groupable: groupable !== "false", 
    menu: menu, 
    template: th.attr(kendo.attr("template")), 
    width: cols.eq(idx).css("width") 
}; 

後來,在Grid._groupRowHtml

template = column.groupHeaderTemplate; // Wasn't set in _columns. :(
if (template) { 
    text = typeof template === FUNCTION ? template(data) : kendo.template(template)(data); 
} 

回答

0

編寫組一行HTML,當你正確地使用它。然而,屬性的內容應該指向包含您的劍道模板的腳本元素的ID。

<script id="myscriptname" type="text/x-kendo-template> 
    <!--script markup/code here--> 
</script> 

<table id="grid" 
    data-role="grid" 
    data-bind="source: dataSource"> 
    <thead> 
    <tr> 
     <th 
     data-field="ID" 
      data-group-header-template="myscriptname">ID</th> 
     </tr> 
    </head> 
</table> 

您還需要呼籲kendo.bind,傳遞是在DOM層次中的表上方的元素。

+0

我指的是模板ID,我沒有在例子中包括它。它仍然不起作用,也沒有使用字符串模板:http://jsfiddle.net/Ze2bw/3/。我檢查了kendo網格源代碼,它似乎沒有從任何HTML定義的列中映射頁眉或頁腳模板;它只映射'template'屬性。 – jkappers 2013-05-02 22:33:03

相關問題