• Ramakrishna K
  • NEWBIE
  • 0 Points
  • Member since 2013

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 4
    Replies
Hi All ,
i'm trying to update a record using  "onrowaction " button in lightning datatable , when i'm passing the parameters to server side controller getting this error  "Cannot read property 'updaterecord' of undefined".

Please help me to find solutions for below querrys 
1. How to capture row id and pass to server side controller .
2. How to get the component value ( getting error 'Cannot read property 'updaterecord' of undefined')
2. Is it possible to call helper method using "onrowaction " . Below my sample code

Controller :

component.set('v.columns', [
            {label: $A.get("$Label.c.AccountName"), fieldName: 'Name', type: 'text', sortable : true},
            {label: 'Update', type: 'button', initialWidth: 135, typeAttributes: { label: 'Update', name: 'view_details', title: 'Click to View Details'}}]);

handleRowAction :function(component, event, helper){
       var action = event.getParam('action');
       var row = event.getParam('row');
       switch (action.name) {
           default:
               helper.showRowDetails(row);
               break;
       }

Helper :

showRowDetails : function(row ,component, event,helper ) {
       // var kkk = component.get("v.AccountID");
       alert("Showing opportunity " + row.Name + " closing on " + row.Id);
        helper.updaterecord(component, event,helper);
   },
    
    updaterecord : function(cmp, event,helper ) {
       var action = cmp.get("c.updaterecord"); 
      action.setParams({"focID " : cmp.get("v.kkrecordId")}); 
        action.setCallback(this, function(response) {
            var state = response.getState();
            var responseval = response.getReturnValue();

            if (cmp.isValid() && state === "SUCCESS" && responseval.isSuccess) {
                console.log(response.getReturnValue());
                   window.location.replace("/"+cmp.get("v.kkrecordId"));
            }
            else if(state == "ERROR" || !responseval.isSuccess){
                alert(responseval.message);
            }
        });

Component :

<lightning:datatable data="{! v.allacountlist}" class="slds-m-top_medium"
                             columns="{! v.columns }" 
                             keyField="id"
                             aura:id="tableid"
                             hideCheckboxColumn="true"
                             onrowaction="{! c.handleRowAction }"/>
Hi ,

when i click on the look up field icon , in the lookup window by default i would like "Allfields" radio button to be selected by default so , i would request any from forum help me achive this task                                           User-added image
Hi All ,
i'm trying to update a record using  "onrowaction " button in lightning datatable , when i'm passing the parameters to server side controller getting this error  "Cannot read property 'updaterecord' of undefined".

Please help me to find solutions for below querrys 
1. How to capture row id and pass to server side controller .
2. How to get the component value ( getting error 'Cannot read property 'updaterecord' of undefined')
2. Is it possible to call helper method using "onrowaction " . Below my sample code

Controller :

component.set('v.columns', [
            {label: $A.get("$Label.c.AccountName"), fieldName: 'Name', type: 'text', sortable : true},
            {label: 'Update', type: 'button', initialWidth: 135, typeAttributes: { label: 'Update', name: 'view_details', title: 'Click to View Details'}}]);

handleRowAction :function(component, event, helper){
       var action = event.getParam('action');
       var row = event.getParam('row');
       switch (action.name) {
           default:
               helper.showRowDetails(row);
               break;
       }

Helper :

showRowDetails : function(row ,component, event,helper ) {
       // var kkk = component.get("v.AccountID");
       alert("Showing opportunity " + row.Name + " closing on " + row.Id);
        helper.updaterecord(component, event,helper);
   },
    
    updaterecord : function(cmp, event,helper ) {
       var action = cmp.get("c.updaterecord"); 
      action.setParams({"focID " : cmp.get("v.kkrecordId")}); 
        action.setCallback(this, function(response) {
            var state = response.getState();
            var responseval = response.getReturnValue();

            if (cmp.isValid() && state === "SUCCESS" && responseval.isSuccess) {
                console.log(response.getReturnValue());
                   window.location.replace("/"+cmp.get("v.kkrecordId"));
            }
            else if(state == "ERROR" || !responseval.isSuccess){
                alert(responseval.message);
            }
        });

Component :

<lightning:datatable data="{! v.allacountlist}" class="slds-m-top_medium"
                             columns="{! v.columns }" 
                             keyField="id"
                             aura:id="tableid"
                             hideCheckboxColumn="true"
                             onrowaction="{! c.handleRowAction }"/>