Angular Kendo UI将网格项显示为超链接

时间:2018-09-05 20:33:29

标签: angular kendo-ui kendo-ui-angular2

我是Angular Kendo UI的新手,并且我正在website上通过Kendo UI网格系统。

我的网格数据包含名称,日期和链接如下的报告:

gridData: IReport[] = [
    {
      "date": "9/5/2018",
      "reportName": "Report 1",
      "reportLink": "http://google.com/",
      "reportStatus": "Success"
    },
    {
      "date": "9/7/2018",
      "reportName": "Report 2",
      "reportLink": "http://yahoo.com/",
      "reportStatus": "Success"
    },
    {
      "date": "8/5/2018",
      "reportName": "Report 3",
      "reportLink": "http://msn.com/",
      "reportStatus": "Success"
    },]

我想用reportLink作为超链接在UI上显示此网格。这是我的html外观:

<kendo-grid  [resizable]="true" [data]="gridData" [height]="500">
  <kendo-grid-column field="date" title="Date"  width="40">
  </kendo-grid-column>
  <kendo-grid-column field="reportName" title="Report Name" width="50">
  </kendo-grid-column>
  <kendo-grid-column field="reportLink" title="Report Link" width="50"> 
      <ng-template kendoGridCellTemplate let-dataItem *ngFor="let data of gridData">
            <a href="{{data.reportLink}}">{{data.reportLink}}</a>
      </ng-template>
  </kendo-grid-column>
  <kendo-grid-column field="reportStatus" title="Report Status" width="80">
  </kendo-grid-column>
</kendo-grid>

我显示我正在遍历gridData的链接并将其显示为标签。

  <kendo-grid-column field="reportLink" title="Report Link" width="50"> 
      <ng-template kendoGridCellTemplate let-dataItem *ngFor="let data of gridData">
            <a href="{{data.reportLink}}">{{data.reportLink}}</a>
      </ng-template>
  </kendo-grid-column>

我的问题是报告链接仅对所有报告显示http:google.com。 enter image description here

我在做什么错?我希望看到google.com,yahoo.com和msn.com作为我的报告链接。

有指针吗?谢谢大家!

1 个答案:

答案 0 :(得分:1)

尝试直接绑定到dataItem。您不需要* ngFor。

 <kendo-grid-column field="reportLink" title="Report Link" width="50"> 
      <ng-template kendoGridCellTemplate let-dataItem>
            <a [href]="dataItem.reportLink">{{dataItem.reportLink}}</a>
      </ng-template>
  </kendo-grid-column>