簡體   English   中英

將Kendo Angular網格列模板傳遞給托管網格的父組件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM