![](/img/trans.png)
[英]Angular 2 Kendo UI pass column definitions to grid from parent component
[英]Passing Kendo Angular grid column templates to a parent component hosting the grid
我已經在Telerik Kendo Angular UI論壇上問了這個問題,如果得到答案,我會更新兩個位置,但是這個問題可能是由於我有限的Angular知識而不是Kendo功能。
我的目標是讓一個組件“網格用戶”將列模板(kendoGridCellTemplate,kendoGridHeaderTemplate等)傳遞給承載該元素的父級“網格提供者”組件,以便多個網格用戶可以呈現相同的網格而無需每個配置分頁,排序等
我的應用程序提供了搜索各種產品的能力。 所有搜索結果都顯示在Kendo UI的Angular網格中。 每種產品在搜索結果中都有不同的字段,但網格的一般功能始終相同。 我想一次定義網格,但是讓不同的搜索提供者提供自己的列配置和數據。 但是到目前為止,當<ng-template kendoGridCellTemplate>
等直接嵌套在<kendo-grid-column>
<ng-template kendoGridCellTemplate>
<kendo-grid-column>
元素下時,我只能提供標頭,過濾器和單元格模板,這些元素直接嵌套在<kendo-grid>
元素-全部在同一模板中。
請參見以下示例: https : //stackblitz.com/edit/angular-htffqq
第一個網格已正確配置,但單元格模板位於<kendo-grid-column>
和<kendo-grid>
正下方。 第二個網格顯示默認配置,無法識別@ContentChild
提供的模板,默認為無配置。
可以用這種方式配置列嗎? 我嘗試了許多略有不同的方法,但似乎沒有任何作用,因此我開始認為這根本不可能。
我認為網格無法選擇以此方式提供的模板。 至少我無法從投影內容中選擇ContentChild或ContentChildren。 您可以使用我在這里建議的方法-在GridProvider組件中獲取TemplateRef,並在列模板中使用ngTemplateOutlet進行渲染:
https://stackblitz.com/edit/angular-htffqq-ngmlgw?file=app/grid-provider.component.ts
按照@SiliconSoul的示例,首選解決方案在這里: https : //stackblitz.com/edit/angular-htffqq-p8wies
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.