2016-09-27 97 views
0

在Grid的框架中是否存在類似RowTemplate的東西?Kendo UI Angular 2 - RowTemplate?

我需要將(contextmenu)="onContextMenu($event, dataItem)"附加到表格行,以便在右鍵單擊行時顯示上下文菜單。

我還沒有找到任何方法可以做到這一點。

我試着直接向每個kendoCellTemplate添加上下文,並將上下文菜單附加到每一列,但它只是拋出錯誤。

<kendo-grid-column field = "poNum"> 
    <template kendoCellTemplate let-dataItem (contextmenu)="onContextMenu($event, dataItem)"> 
     {{ dataItem.poNum }} 
    </template> 
</kendo-grid-column> 

我嘗試添加的div每個kendoCellTemplate而不是和文本菜單添加到,和它的作品 - 但是這是可以理解的凌亂,和的div的寬度拒絕全細胞留下巨大的空間在右鍵點擊的地方會出現漏洞。

<kendo-grid-column field = "poNum"> 
    <template kendoCellTemplate let-dataItem> 
     <div (contextmenu)="onContextMenu($event, dataItem)"> 
      {{ dataItem.poNum }} 
     </div> 
    </template> 
</kendo-grid-column> 

任何幫助,將不勝感激。

+0

嗨GlacialFlames,你有沒有得到解決這個問題? –

+0

不幸的不是。我還沒有找到解決方案來完成行級別的任何事情。 – GlacialFlames

回答

2

這看起來是一箇舊帖子,但我找到了一種方法來做到這一點。與bootstrap 4一起使用(但它應該適用於任何使用flex-wrap的柔性盒的div)。

它是不是最漂亮的,但它可以完成您的規範工作:

您設置網格正常,然後爲每列:

<kendo-grid-column title="Option"> 
    <template kendoGridCellTemplate let-dataItem> 
     <div class="row no-margin" (contextmenu)="onRightClick($event, dataItem)"> 
      {{dataItem.Name}} 
     </div> 
    </template> 
</kendo-grid-column> 

由於行類將佔用RC活動的全部空間應按預期工作。

如果你想確保高度不是問題,你需要設置.k-grid td沒有填充,然後添加填充(8px)到行div,否則在行的上下文菜單不會觸發的邊緣。

+0

理想情況下,我們不必把它放在每一列上,但它是目前唯一的解決方案! Telerik正在研究他們自己的上下文菜單,因爲我相信。在此之前這是一個有效的解決方案。謝謝! – GlacialFlames

相關問題