How to call a function on edit button in angular?

919 views
Skip to first unread message

raju bhai

unread,
Jan 23, 2020, 4:02:58 AM1/23/20
to Angular and AngularJS discussion

My project angular version:

Angular CLI: 9.0.0-rc.7

I m working with grid and I want to edit a record. and call a function when press the button but console.log is not display?


partymastercomponent.ts


import { Component, OnInit } from '@angular/core';
import { BackendService } from '../backend.service';

@Component({
  selector: 'app-partymaster',
  templateUrl: './partymaster.component.html',
  styleUrls: ['./partymaster.component.css']
})
export class PartymasterComponent implements OnInit {

    PartyMstId: any;
    PartyCode: any;
    PartyName: any;

    partylist: any;

    constructor(public myservice: BackendService) { }

    columnDefs = [
      {
          headerName: "Edit",
          field: "icon",
          width: 100,
          //id: this.PartyMstId,
          cellRenderer: function (params)
          {
              return  '<button (click)="editfunction()"><i class="fa fa-edit"></i></button>'
          }
      },
      { headerName: 'PartyMstId', field: 'PartyMstId', sortable: true, filter: true/*, checkboxSelection: true*/ },
      { headerName: 'PartyCode', field: 'PartyCode', sortable: true, filter: true },
      { headerName: 'PartyName', field: 'PartyName', sortable: true, filter: true },

 ];

  editfunction() {
      console.log("call this edit function");
  }
}

partymastercomponent.html


<ag-grid-angular style="width: 1000px; height: 500px;"
                 class="ag-theme-balham"
                 [rowData]="partylist"                   
                 rowSelection="multiple"
                 [columnDefs]="columnDefs">
</ag-grid-angular>
 how to call a function on edit button click??
 
 icon as well as button is not working??

when I press right click on browser then

<span><button(click)="editfunction()"><i class="fa fa-edit"></li></button></span>          browser


help??

Arnaud Deman

unread,
Jan 23, 2020, 12:32:49 PM1/23/20
to Angular and AngularJS discussion
Hey Raju,

You can define your own Angular components to render and edit cells via cellEditor and cellRenderer properties (cf the doc).

For the edition your component has to implement ICellEditorAngularComp

with this methods for the initialization:
agInit(params: ICellEditorParams): void {
this.params = params;
this.logger.debug('params', params);
}

When you stop the edition you can notify it to agGrid with
this.params.stopEditing();


The event cellValueChanged can be catched on your agGrid the type of the event is CellValueChangedEvent
<ag-grid-angular ... (cellValueChanged)="onCellValueChanged($event)"

</ag-grid-angular>

Regards,
Arnaud.


Nhut Thai Le

unread,
Jan 24, 2020, 10:28:42 AM1/24/20
to ang...@googlegroups.com
should it be <button (click)="editfunction()"> ? Look like a space is missing.

--
You received this message because you are subscribed to the Google Groups "Angular and AngularJS discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to angular+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/angular/fb8eb336-283a-4ed3-adce-9994373a3248%40googlegroups.com.


--
Castor Technologies Inc
460 rue St-Catherine St Ouest, Suite 613 
Montréal, Québec H3B-1A7

CONFIDENTIALITY NOTICE: The information contained in this e-mail is confidential and may be proprietary information intended only for the use of the individual or entity to whom it is addressed. If the reader of this message is not the intended recipient, you are hereby notified that any viewing, dissemination, distribution, disclosure, copy or use of the information contained in this e-mail message is strictly prohibited. If you have received and/or are viewing this e-mail in error, please immediately notify the sender by reply e-mail, and delete it from your system without reading, forwarding, copying or saving in any manner. Thank you.
AVIS DE CONFIDENTIALITE: L’information contenue dans ce message est confidentiel, peut être protégé par le secret professionnel et est réservé à l'usage exclusif du destinataire. Toute autre personne est par les présentes avisée qu'il lui est strictement interdit de diffuser, distribuer ou reproduire ce message. Si vous avez reçu cette communication par erreur, veuillez la détruire immédiatement et en aviser l'expéditeur. Merci.

manish pamnani

unread,
Feb 4, 2020, 12:48:02 AM2/4/20
to Angular and AngularJS discussion
Can you elaborate on the button is not working? Are you recieving an error or the button is not working altogether?
Reply all
Reply to author
Forward
0 new messages