2017-10-10 4 views
1

J'utilise ng prime DataTable pour afficher les données dans une table html.Angular 4 - Primeng Datatable - Modifier et détailler dans la même rangée

Dans la même rangée de mon DataTable je peux éditer la rangée et voir le détail dans les fenêtres modales.

Voici le code html:

<p-dataTable (onRowSelect)="onRowSelect($event)" [value]="registers" selectionMode="single" [(selection)]="selectedRegister"> 
    <p-column> 
     <ng-template pTemplate="body"> 
      <a (click)="editRegister(register)"><i class="fa fa-pencil" aria-hidden="true"></i></a> 
     </ng-template> 
    </p-column> 
    <p-column field="name" header="Name" [sortable]="true"></p-column> 
</p-dataTable> 

Le problème est que lorsque je clique sur toute la ligne, la fonction onRowSelect est exécutée mais lorsque je clique sur l'icône « fa-crayon » les deux fonctions
editRegister et onRowSelect sont exécutées, mais je veux exécuter seulement editRegister sur le clic du bouton d'édition (icône de crayon).

Comment y parvenir? merci à l'avance

+0

J'ai avec un solution temporaire, pour le moment caché le modal dont je n'ai pas besoin quand je vais à la fonction editRegister – Eladerezador

Répondre

0

Si vous avez encore besoin d'une meilleure solution, vous pouvez essayer d'ajouter event.stopPropagation dans votre fonction editRegister (ne pas oublier de passer l'événement dans les paramètres bien sûr)