Reputation: 115
I am using Primeng datatable in my project setup.But i want the first column of all rows to be hyperlink,so that i can link those to the next pages using [routerLink] (angular 2 way).I am quite unable to achieve that...
Is there any way to work around this one in primeng..?
Thanks in advance!
Upvotes: 5
Views: 13007
Reputation: 349
You have to do something like this:
<td *ngFor="let col of columns">
<span *ngIf="col.header==='Opportunity'"><a routerLink="/prbDetails/{{rowData.opportunityId}}">{{rowData[col.field]}}</a></span>
<span *ngIf="col.field==='dcn'"><a routerLink="/prbDetails/{{rowData.dcn}}">{{rowData[col.field]}}</a></span>
<span *ngIf="col.header!=='Opportunity' && col.field!=='dcn'">{{rowData[col.field]}}</span>
</td>
Hope this helps!!!
Cheers, Nitin
Upvotes: 0
Reputation: 2573
I am your real maseeaha try this it is working:
<p-dataTable [value]="cars">
<p-column *ngFor="let col of cols" [field]="col.field" [header]="col.header">
<template let-row="rowData" pTemplate>
<span *ngIf="col.header==='Vin'"><a style="color:blue;" routerLink="/prbDetails/{{row.vin}}">{{row[col.field]}}</a></span>
<span *ngIf="col.header!=='Vin'">{{row[col.field]}}</span>
</template>
</p-column>
</p-dataTable>
Upvotes: 8
Reputation: 43
Your Maseeha is back :)
Hope this solution might help you :)
<p-dataTable [value]="data" [rows]="50" [rowsPerPageOptions]="[500,1000,2000]" [paginator]="true" [pageLinks]="5" sortMode="single" reorderableColumns="true" scrollable="true" scrollHeight="200px" [globalFilter]="gb" #dt exportFilename="search" styleClass="styles">
<p-column field="name" header="Name" [sortable]="true">
<ng-template let-col let-data="rowData" pTemplate="body">
<span><a [routerLink]='["pageName"]' [queryParams]='{key1:data["Your Value"],key2:data["Your Value"]}' style="color: blue;">{{data["Your Value"]}}</a></span>
</ng-template>
</p-column>
</p-dataTable>
Upvotes: 2