Skip to main content
Question Protected by CommunityBot
added 882 characters in body
Source Link
gNerb
  • 9.6k
  • 5
  • 27
  • 58

if(csvStringResult.includes("Parent")){ for(var sTemp in parentKey){ var orgnKey = parentKey[sTemp];
csvStringResult += '"'+ objectRecords[i][skey][orgnKey]+'"';

if(csvStringResult.includes("Parent")){
    for(var sTemp in parentKey){
        }
var orgnKey = parentKey[sTemp];     
        csvStringResult += '"'+ objectRecords[i][skey][orgnKey]+'"'; 
    }
} 

public class CsvDownloadCtrller {

public class CsvDownloadCtrller {
    @AuraEnabled
    public static List<Account> getAccounts(){
       return [Select id,name,accountnumber,parent.accountnumber from Account where parent.id!=null and parent.accountnumber!=null];
          
    }
}    

}

<aura:component controller="CsvDownloadCtrller" implements="force:appHostable"> <aura:attribute name="AcctLst" type="Account[]"></aura:attribute> <aura:handler name="init" value="{!this}" action="{!c.loadAcctRcrds}"/> <aura:attribute name="AcctRcrdTypeLst" type="String[]"></aura:attribute> <aura:attribute name="selectedLookUpRecord" type="sobject" default="{}"/>

Account List ViewExport TodayExport WeeklySearch AccountsSearchClear

Controller:

<aura:component  controller="CsvDownloadCtrller" implements="force:appHostable">
    <aura:attribute name="AcctLst" type="Account[]"></aura:attribute>
    <aura:handler name="init" value="{!this}" action="{!c.loadAcctRcrds}"/>
    <aura:attribute name="AcctRcrdTypeLst" type="String[]"></aura:attribute>
    <aura:attribute name="selectedLookUpRecord" type="sobject" default="{}"/>
    <div class="slds-box slds-box">
  <article class="slds-card">
  <div class="slds-card__header slds-grid">
    <header class="slds-media slds-media_center slds-has-flexi-truncate">
      
      <div class="slds-media__body">
        <h2 class="slds-card__header-title">
          <a href="javascript:void(0);" class="slds-card__header-link slds-truncate" title="Accounts">
            <span class="slds-text-heading_small">Account List View</span>
          </a>
        </h2>
      </div>
        
      <div class="slds-no-flex">
        <button class="slds-button slds-button_brand" onclick="{!c.exprtTodysRecrds}">Export Today</button>
        <button class="slds-button slds-button_brand">Export Weekly</button>  
      </div>
    </header>
  </div>
</article>
        
 <article class="slds-card">
  <div class="slds-card__header slds-grid">
    <header class="slds-media slds-media_center slds-has-flexi-truncate">
      
      <div class="slds-media__body">
        <h2 class="slds-card__header-title">
          <a href="javascript:void(0);" class="slds-card__header-link slds-truncate" title="Accounts">
            <span class="slds-text-heading_small">Search Accounts</span>
          </a>
        </h2>
      </div>
      
    </header>
  </div>
</article>
<div class="slds-form slds-form_compound">
    <fieldset class="slds-form-element">
<div class="slds-form-element__group">
<div class="slds-form-element__row">
<div class="slds-form-element slds-size_1-of-2">
<lightning:select name="select1" label="Account Type" required="true">
        <aura:iteration items="{!v.AcctRcrdTypeLst}" var="acct">
            <option text="{!acct}"></option>    
        </aura:iteration>
    </lightning:select>
</div>
<div class="slds-form-element slds-size_1-of-2">
<lightning:input aura:id="field" label="Parent Account Number" name="ParentAccountNumber"  />
</div>
</div>
</div>
</fieldset>
<fieldset class="slds-form-element">
<div class="slds-form-element__group">
<div class="slds-form-element__row">
<div class="slds-form-element slds-size_1-of-2">
</div>
<div class="slds-form-element slds-size_1-of-2">
<lightning:input aura:id="field" label="Account Number" name="AccountNumber"  />   
</div>    
</div>
</div>
</fieldset>
 <fieldset class="slds-form-element">
<div class="slds-form-element__group">
<div class="slds-form-element__row">    
<div class="slds-form-element slds-size_1-of-2">
    <lightning:textarea name="input1" label="Description" />    
</div>
<div class="slds-form-element slds-size_1-of-2">
<c:customLookup objectAPIName="account"  label="Account Number" selectedRecord="{!v.selectedLookUpRecord}"/>
</div>    
</div>
</div>
</fieldset> 
 <fieldset class="slds-form-element">
<div class="slds-form-element__group">
<div class="slds-form-element__row">    
<div class="slds-form-element slds-size_1-of-2">        
</div>
<div class="slds-form-element slds-size_1-of-2">    
</div>    
</div>
</div>
</fieldset>
 <fieldset class="slds-form-element">
<div class="slds-form-element__group">
<div class="slds-form-element__row">    
<div class="slds-form-element slds-size_1-of-2">        
</div>
<div class="slds-form-element slds-size_1-of-2">    
</div>    
</div>
</div>
</fieldset>          
 <fieldset class="slds-form-element">
<div class="slds-form-element__group">
<div class="slds-form-element__row">    
<div class="slds-form-element slds-size_1-of-2">
        
</div>
<div class="slds-form-element slds-size_1-of-2"> 
    <lightning:input type="date" name="input1" label="From Date" /> 
</div>    
</div>
</div>
</fieldset>   
<fieldset class="slds-form-element">
<div class="slds-form-element__group">
<div class="slds-form-element__row">    
<div class="slds-form-element slds-size_1-of-2">        
</div>
<div class="slds-form-element slds-size_1-of-2"> 
    <lightning:input type="date" name="input1" label="To Date" /> 
</div>    
</div>
</div>
</fieldset>  
</div>
       
<div class="slds-no-flex slds-align_absolute-center slds-m-top_xx-large">
        <button class="slds-button slds-button_brand" style="width:100px">Search</button>
        <button class="slds-button slds-button_brand" style="width:100px">Clear</button>  
      </div> 
</div> 
</aura:component>

({ loadAcctRcrds Controller:function(component,event,helper){

({
    loadAcctRcrds:function(component,event,helper){
        
       var action = component.get("c.getAccounts");
        action.setCallback(this,function(response){
        var state = response.getState();
            
            
            
            if(state == "SUCCESS"){
                
                component.set("v.AcctLst",response.getReturnValue());
                
            }
            else{
                alert('failed');
                
            }
        });
        $A.enqueueAction(action);      
        
    },
    
    exprtTodysRecrds : function(component, event, helper) {
         var stockData = component.get("v.AcctLst") 
         var csv = helper.convertArrayOfObjectsToCSV(component,stockData);
          if (csv == null){return;} 
        
        // ####--code for create a temp. <a> html tag [link tag] for download the CSV file--####     
         var hiddenElement = document.createElement('a');
          hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv);
          hiddenElement.target = '_self'; // 
          hiddenElement.download = 'ExportData.csv';  // CSV file Name* you can change it.[only name not .csv] 
          document.body.appendChild(hiddenElement); // Required for FireFox browser
          hiddenElement.click(); // using click() js function to download csv file
        
        
    }
})

})

({

({
        
    convertArrayOfObjectsToCSV : function(component,objectRecords){
        // declare variables
        var csvStringResult, counter, keys, columnDivider, lineDivider,parentKey;
       
        // check if "objectRecords" parameter is null, then return from function
        if (objectRecords == null || !objectRecords.length) {
            return null;
         }
        // store ,[comma] in columnDivider variabel for sparate CSV values and 
        // for start next line use '\n' [new line] in lineDivider varaible  
        columnDivider = ',';
        lineDivider =  '\n';
 
        // in the keys valirable store fields API Names as a key 
        // this labels use in CSV file header  
        keys = ['Name','AccountNumber','Id','Parent' ];
        parentKey=['AccountNumber'];
        
        csvStringResult = '';
        csvStringResult += keys.join(columnDivider);
        csvStringResult += lineDivider;
 
        for(var i=0; i < objectRecords.length; i++){   
            counter = 0;
           
             for(var sTempkey in keys) {
                var skey = keys[sTempkey] ; 
                 
                /* if(skey=='Parent'){
                     for(var pTempkey in parentKey){
                         csvStringResult += '"'+ objectRecords[i][skey][pTempkey]+'"';                       
                         
                     }  
                     
                     
                 }*/
                
 
              // add , [comma] after every String value,. [except first]
                  if(counter > 0){ 
                      csvStringResult += columnDivider; 
                   }   
               
               csvStringResult += '"'+ objectRecords[i][skey]+'"'; 
               
                 /*if(csvStringResult.includes("Parent")){
                     for(var sTemp in parentKey){
                        var orgnKey = parentKey[sTemp];     
                        csvStringResult += '"'+ objectRecords[i][skey][orgnKey]+'"'; 
                         
                     }
                     
                 }*/ 
                 
                 
               
               counter++;
             
             } // inner for loop close     
             csvStringResult += lineDivider;
          }// outer main for loop close 
       
       // return the CSV formate String 
        return csvStringResult;        
    },

})

})

if(csvStringResult.includes("Parent")){ for(var sTemp in parentKey){ var orgnKey = parentKey[sTemp];
csvStringResult += '"'+ objectRecords[i][skey][orgnKey]+'"';

             }

         } 

public class CsvDownloadCtrller {

@AuraEnabled
public static List<Account> getAccounts(){
   return [Select id,name,accountnumber,parent.accountnumber from Account where parent.id!=null and parent.accountnumber!=null];
          
    
}    

}

<aura:component controller="CsvDownloadCtrller" implements="force:appHostable"> <aura:attribute name="AcctLst" type="Account[]"></aura:attribute> <aura:handler name="init" value="{!this}" action="{!c.loadAcctRcrds}"/> <aura:attribute name="AcctRcrdTypeLst" type="String[]"></aura:attribute> <aura:attribute name="selectedLookUpRecord" type="sobject" default="{}"/>

Account List ViewExport TodayExport WeeklySearch AccountsSearchClear

Controller:

({ loadAcctRcrds:function(component,event,helper){

   var action = component.get("c.getAccounts");
    action.setCallback(this,function(response){
    var state = response.getState();
        
        
        
        if(state == "SUCCESS"){
            
            component.set("v.AcctLst",response.getReturnValue());
            
        }
        else{
            alert('failed');
            
        }
    });
    $A.enqueueAction(action);      
    
},

exprtTodysRecrds : function(component, event, helper) {
     var stockData = component.get("v.AcctLst") 
     var csv = helper.convertArrayOfObjectsToCSV(component,stockData);
      if (csv == null){return;} 
    
    // ####--code for create a temp. <a> html tag [link tag] for download the CSV file--####     
     var hiddenElement = document.createElement('a');
      hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv);
      hiddenElement.target = '_self'; // 
      hiddenElement.download = 'ExportData.csv';  // CSV file Name* you can change it.[only name not .csv] 
      document.body.appendChild(hiddenElement); // Required for FireFox browser
      hiddenElement.click(); // using click() js function to download csv file
    
    
}

})

({

convertArrayOfObjectsToCSV : function(component,objectRecords){
    // declare variables
    var csvStringResult, counter, keys, columnDivider, lineDivider,parentKey;
   
    // check if "objectRecords" parameter is null, then return from function
    if (objectRecords == null || !objectRecords.length) {
        return null;
     }
    // store ,[comma] in columnDivider variabel for sparate CSV values and 
    // for start next line use '\n' [new line] in lineDivider varaible  
    columnDivider = ',';
    lineDivider =  '\n';

    // in the keys valirable store fields API Names as a key 
    // this labels use in CSV file header  
    keys = ['Name','AccountNumber','Id','Parent' ];
    parentKey=['AccountNumber'];
    
    csvStringResult = '';
    csvStringResult += keys.join(columnDivider);
    csvStringResult += lineDivider;

    for(var i=0; i < objectRecords.length; i++){   
        counter = 0;
       
         for(var sTempkey in keys) {
            var skey = keys[sTempkey] ; 
             
            /* if(skey=='Parent'){
                 for(var pTempkey in parentKey){
                     csvStringResult += '"'+ objectRecords[i][skey][pTempkey]+'"';                       
                     
                 }  
                 
                 
             }*/
            

          // add , [comma] after every String value,. [except first]
              if(counter > 0){ 
                  csvStringResult += columnDivider; 
               }   
           
           csvStringResult += '"'+ objectRecords[i][skey]+'"'; 
           
             /*if(csvStringResult.includes("Parent")){
                 for(var sTemp in parentKey){
                    var orgnKey = parentKey[sTemp];     
                    csvStringResult += '"'+ objectRecords[i][skey][orgnKey]+'"'; 
                     
                 }
                 
             }*/ 
             
             
           
           counter++;
         
         } // inner for loop close     
         csvStringResult += lineDivider;
      }// outer main for loop close 
   
   // return the CSV formate String 
    return csvStringResult;        
},

})

if(csvStringResult.includes("Parent")){
    for(var sTemp in parentKey){
        var orgnKey = parentKey[sTemp];     
        csvStringResult += '"'+ objectRecords[i][skey][orgnKey]+'"'; 
    }
} 
public class CsvDownloadCtrller {
    @AuraEnabled
    public static List<Account> getAccounts(){
       return [Select id,name,accountnumber,parent.accountnumber from Account where parent.id!=null and parent.accountnumber!=null];
    }
}
<aura:component  controller="CsvDownloadCtrller" implements="force:appHostable">
    <aura:attribute name="AcctLst" type="Account[]"></aura:attribute>
    <aura:handler name="init" value="{!this}" action="{!c.loadAcctRcrds}"/>
    <aura:attribute name="AcctRcrdTypeLst" type="String[]"></aura:attribute>
    <aura:attribute name="selectedLookUpRecord" type="sobject" default="{}"/>
    <div class="slds-box slds-box">
  <article class="slds-card">
  <div class="slds-card__header slds-grid">
    <header class="slds-media slds-media_center slds-has-flexi-truncate">
      
      <div class="slds-media__body">
        <h2 class="slds-card__header-title">
          <a href="javascript:void(0);" class="slds-card__header-link slds-truncate" title="Accounts">
            <span class="slds-text-heading_small">Account List View</span>
          </a>
        </h2>
      </div>
        
      <div class="slds-no-flex">
        <button class="slds-button slds-button_brand" onclick="{!c.exprtTodysRecrds}">Export Today</button>
        <button class="slds-button slds-button_brand">Export Weekly</button>  
      </div>
    </header>
  </div>
</article>
        
 <article class="slds-card">
  <div class="slds-card__header slds-grid">
    <header class="slds-media slds-media_center slds-has-flexi-truncate">
      
      <div class="slds-media__body">
        <h2 class="slds-card__header-title">
          <a href="javascript:void(0);" class="slds-card__header-link slds-truncate" title="Accounts">
            <span class="slds-text-heading_small">Search Accounts</span>
          </a>
        </h2>
      </div>
      
    </header>
  </div>
</article>
<div class="slds-form slds-form_compound">
    <fieldset class="slds-form-element">
<div class="slds-form-element__group">
<div class="slds-form-element__row">
<div class="slds-form-element slds-size_1-of-2">
<lightning:select name="select1" label="Account Type" required="true">
        <aura:iteration items="{!v.AcctRcrdTypeLst}" var="acct">
            <option text="{!acct}"></option>    
        </aura:iteration>
    </lightning:select>
</div>
<div class="slds-form-element slds-size_1-of-2">
<lightning:input aura:id="field" label="Parent Account Number" name="ParentAccountNumber"  />
</div>
</div>
</div>
</fieldset>
<fieldset class="slds-form-element">
<div class="slds-form-element__group">
<div class="slds-form-element__row">
<div class="slds-form-element slds-size_1-of-2">
</div>
<div class="slds-form-element slds-size_1-of-2">
<lightning:input aura:id="field" label="Account Number" name="AccountNumber"  />   
</div>    
</div>
</div>
</fieldset>
 <fieldset class="slds-form-element">
<div class="slds-form-element__group">
<div class="slds-form-element__row">    
<div class="slds-form-element slds-size_1-of-2">
    <lightning:textarea name="input1" label="Description" />    
</div>
<div class="slds-form-element slds-size_1-of-2">
<c:customLookup objectAPIName="account"  label="Account Number" selectedRecord="{!v.selectedLookUpRecord}"/>
</div>    
</div>
</div>
</fieldset> 
 <fieldset class="slds-form-element">
<div class="slds-form-element__group">
<div class="slds-form-element__row">    
<div class="slds-form-element slds-size_1-of-2">        
</div>
<div class="slds-form-element slds-size_1-of-2">    
</div>    
</div>
</div>
</fieldset>
 <fieldset class="slds-form-element">
<div class="slds-form-element__group">
<div class="slds-form-element__row">    
<div class="slds-form-element slds-size_1-of-2">        
</div>
<div class="slds-form-element slds-size_1-of-2">    
</div>    
</div>
</div>
</fieldset>          
 <fieldset class="slds-form-element">
<div class="slds-form-element__group">
<div class="slds-form-element__row">    
<div class="slds-form-element slds-size_1-of-2">
        
</div>
<div class="slds-form-element slds-size_1-of-2"> 
    <lightning:input type="date" name="input1" label="From Date" /> 
</div>    
</div>
</div>
</fieldset>   
<fieldset class="slds-form-element">
<div class="slds-form-element__group">
<div class="slds-form-element__row">    
<div class="slds-form-element slds-size_1-of-2">        
</div>
<div class="slds-form-element slds-size_1-of-2"> 
    <lightning:input type="date" name="input1" label="To Date" /> 
</div>    
</div>
</div>
</fieldset>  
</div>
       
<div class="slds-no-flex slds-align_absolute-center slds-m-top_xx-large">
        <button class="slds-button slds-button_brand" style="width:100px">Search</button>
        <button class="slds-button slds-button_brand" style="width:100px">Clear</button>  
      </div> 
</div> 
</aura:component>

Controller:

({
    loadAcctRcrds:function(component,event,helper){
        
       var action = component.get("c.getAccounts");
        action.setCallback(this,function(response){
        var state = response.getState();
            
            
            
            if(state == "SUCCESS"){
                
                component.set("v.AcctLst",response.getReturnValue());
                
            }
            else{
                alert('failed');
                
            }
        });
        $A.enqueueAction(action);      
        
    },
    
    exprtTodysRecrds : function(component, event, helper) {
         var stockData = component.get("v.AcctLst") 
         var csv = helper.convertArrayOfObjectsToCSV(component,stockData);
          if (csv == null){return;} 
        
        // ####--code for create a temp. <a> html tag [link tag] for download the CSV file--####     
         var hiddenElement = document.createElement('a');
          hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv);
          hiddenElement.target = '_self'; // 
          hiddenElement.download = 'ExportData.csv';  // CSV file Name* you can change it.[only name not .csv] 
          document.body.appendChild(hiddenElement); // Required for FireFox browser
          hiddenElement.click(); // using click() js function to download csv file
        
        
    }
})
({
        
    convertArrayOfObjectsToCSV : function(component,objectRecords){
        // declare variables
        var csvStringResult, counter, keys, columnDivider, lineDivider,parentKey;
       
        // check if "objectRecords" parameter is null, then return from function
        if (objectRecords == null || !objectRecords.length) {
            return null;
         }
        // store ,[comma] in columnDivider variabel for sparate CSV values and 
        // for start next line use '\n' [new line] in lineDivider varaible  
        columnDivider = ',';
        lineDivider =  '\n';
 
        // in the keys valirable store fields API Names as a key 
        // this labels use in CSV file header  
        keys = ['Name','AccountNumber','Id','Parent' ];
        parentKey=['AccountNumber'];
        
        csvStringResult = '';
        csvStringResult += keys.join(columnDivider);
        csvStringResult += lineDivider;
 
        for(var i=0; i < objectRecords.length; i++){   
            counter = 0;
           
             for(var sTempkey in keys) {
                var skey = keys[sTempkey] ; 
                 
                /* if(skey=='Parent'){
                     for(var pTempkey in parentKey){
                         csvStringResult += '"'+ objectRecords[i][skey][pTempkey]+'"';                       
                         
                     }  
                     
                     
                 }*/
                
 
              // add , [comma] after every String value,. [except first]
                  if(counter > 0){ 
                      csvStringResult += columnDivider; 
                   }   
               
               csvStringResult += '"'+ objectRecords[i][skey]+'"'; 
               
                 /*if(csvStringResult.includes("Parent")){
                     for(var sTemp in parentKey){
                        var orgnKey = parentKey[sTemp];     
                        csvStringResult += '"'+ objectRecords[i][skey][orgnKey]+'"'; 
                         
                     }
                     
                 }*/ 
                 
                 
               
               counter++;
             
             } // inner for loop close     
             csvStringResult += lineDivider;
          }// outer main for loop close 
       
       // return the CSV formate String 
        return csvStringResult;        
    },

})
Source Link
kishore
  • 21
  • 1
  • 3

Export records in CSV in a lightning component

Account Details

Requirement: There is a button "Export Today " which is used to export account records in the form of csv in lightning component(Account_Detail_Component).In the helper ,we have "convertArrayOfObjectsToCSV" function which is used to convert object records into csv. I am able to display account fields values i.e 'Name','AccountNumber','Id' in csv. But I am not able to display parent account field values i.e parent account Number.You can find apex controller"CsvDownloadCtrller" which is returning account fields values and parent account Number.You can find the output of CSV File which is displaying account Records and parent account Number as [object][object] with the below helper code.

enter image description here

You can this below code commented in helper because It is displaying account fields along undefined values and parent record as [object][object] correct parent accountNumber

if(csvStringResult.includes("Parent")){ for(var sTemp in parentKey){ var orgnKey = parentKey[sTemp];
csvStringResult += '"'+ objectRecords[i][skey][orgnKey]+'"';

             }

         } 

enter image description here

Could any one please correct my code to display proper account records and parent account records

Apex Controller:

public class CsvDownloadCtrller {

@AuraEnabled
public static List<Account> getAccounts(){
   return [Select id,name,accountnumber,parent.accountnumber from Account where parent.id!=null and parent.accountnumber!=null];
          
    
}    

}

Component:

<aura:component controller="CsvDownloadCtrller" implements="force:appHostable"> <aura:attribute name="AcctLst" type="Account[]"></aura:attribute> <aura:handler name="init" value="{!this}" action="{!c.loadAcctRcrds}"/> <aura:attribute name="AcctRcrdTypeLst" type="String[]"></aura:attribute> <aura:attribute name="selectedLookUpRecord" type="sobject" default="{}"/>

Account List View Export Today Export Weekly Search Accounts Search Clear

Controller:

({ loadAcctRcrds:function(component,event,helper){

   var action = component.get("c.getAccounts");
    action.setCallback(this,function(response){
    var state = response.getState();
        
        
        
        if(state == "SUCCESS"){
            
            component.set("v.AcctLst",response.getReturnValue());
            
        }
        else{
            alert('failed');
            
        }
    });
    $A.enqueueAction(action);      
    
},

exprtTodysRecrds : function(component, event, helper) {
     var stockData = component.get("v.AcctLst") 
     var csv = helper.convertArrayOfObjectsToCSV(component,stockData);
      if (csv == null){return;} 
    
    // ####--code for create a temp. <a> html tag [link tag] for download the CSV file--####     
     var hiddenElement = document.createElement('a');
      hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv);
      hiddenElement.target = '_self'; // 
      hiddenElement.download = 'ExportData.csv';  // CSV file Name* you can change it.[only name not .csv] 
      document.body.appendChild(hiddenElement); // Required for FireFox browser
      hiddenElement.click(); // using click() js function to download csv file
    
    
}

})

Helper:

({

convertArrayOfObjectsToCSV : function(component,objectRecords){
    // declare variables
    var csvStringResult, counter, keys, columnDivider, lineDivider,parentKey;
   
    // check if "objectRecords" parameter is null, then return from function
    if (objectRecords == null || !objectRecords.length) {
        return null;
     }
    // store ,[comma] in columnDivider variabel for sparate CSV values and 
    // for start next line use '\n' [new line] in lineDivider varaible  
    columnDivider = ',';
    lineDivider =  '\n';

    // in the keys valirable store fields API Names as a key 
    // this labels use in CSV file header  
    keys = ['Name','AccountNumber','Id','Parent' ];
    parentKey=['AccountNumber'];
    
    csvStringResult = '';
    csvStringResult += keys.join(columnDivider);
    csvStringResult += lineDivider;

    for(var i=0; i < objectRecords.length; i++){   
        counter = 0;
       
         for(var sTempkey in keys) {
            var skey = keys[sTempkey] ; 
             
            /* if(skey=='Parent'){
                 for(var pTempkey in parentKey){
                     csvStringResult += '"'+ objectRecords[i][skey][pTempkey]+'"';                       
                     
                 }  
                 
                 
             }*/
            

          // add , [comma] after every String value,. [except first]
              if(counter > 0){ 
                  csvStringResult += columnDivider; 
               }   
           
           csvStringResult += '"'+ objectRecords[i][skey]+'"'; 
           
             /*if(csvStringResult.includes("Parent")){
                 for(var sTemp in parentKey){
                    var orgnKey = parentKey[sTemp];     
                    csvStringResult += '"'+ objectRecords[i][skey][orgnKey]+'"'; 
                     
                 }
                 
             }*/ 
             
             
           
           counter++;
         
         } // inner for loop close     
         csvStringResult += lineDivider;
      }// outer main for loop close 
   
   // return the CSV formate String 
    return csvStringResult;        
},

})