需要在Angular 6应用程序的dx-data-grid中的单元格上悬停时显示自定义的工具提示(dx-tooltip)

时间:2019-06-12 15:10:31

标签: angular devextreme dx-data-grid

我需要在dx-data-grid列中的每个单元上的悬停位置上显示自定义的工具提示(dx-tooltip)。我使用Angular 6,并且不使用jQuery。有没有办法做到这一点?

我正在努力为onCellHoverChanged / onCellPrepared事件上的每个单元分配不同的id属性,这对于dx-tooltip中的目标属性是必需的。

dx-tooltip:(html)

<dx-tooltip target="#abc" showEvent="dxhoverstart" hideEvent="dxhoverend">
      <div *dxTemplate="let d = d; of: 'content'">
        <div class="tooltip-wrapper">
          <p>my content!</p>
        </div>
      </div>
    </dx-tooltip>

onCellHoverChanged事件(组件.ts)

  onCellHoverChanged(e: any) {
    if (e.rowType === "data" && e.column.dataField === "Type") {
      e.cellElement.id = "abc";
    }
  }

使用此代码,我只能显示特定单元格的工具提示。我需要多个ID才能在列中显示不同的工具提示。 Devextreme版本是18.2.6。

1 个答案:

答案 0 :(得分:0)

我通过以下方式解决了这个问题:

html:

<dx-tooltip *ngIf="ToolTipText?.length > 0" [target]="TooltipTarget">
<div *dxTemplate="let data of 'content'">
  {{ ToolTipText }}
</div>

component.ts:

TooltipTarget : any;
ToolTipText :string = '';

onCellHoverChanged(event: any) {
if (event.rowType === "data" && event.column.dataField === "Type") {
  this.TooltipTarget = event.cellElement;
  if (event.eventType === 'mouseover') {
    this.ToolTipText = event.data.Tooltip;
  }
}