2016-09-27 96 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

相关问题