How to display account related contacts based on account name using search input and click button in Salesforce lightning web component – LWC | display account related contacts based on account name in lwc

6,627 views


Hey guys, today in this post we are going to learn about How to display account related contacts based on account name using search input and click button in Salesforce lightning web component – LWC.

Files we used in this post example:

displayContactsOnAccountName.html Lightning Web Component HTML Template HTML file for used to write HTML element for user interface.
displayContactsOnAccountName.js Lightning Web Component JavaScript It is holding @wire  property with handleAccountSearch functionality and Search lightning input field.
displayContactsOnAccountName.js-meta.xml XML Meta File It is used for where this lightning web component you want to exposed.
lwcApp.app Lightning Application File It is used for call the component and preview on browser..
lwcAppExampleApex.cls Apex Controller It is used for retrieve the data from server.

Live Demo

display account related contacts in lwc -- w3web.net

 

You can download file directly from github by Click Here.

Note:: – You will get an email, so put correct email and mobile number and BEGIN YOUR JOURNEY from Today!
   

 
 

 

Other related post that would you like to learn in Salesforce

Step 1:- Create Lightning Web Component : displayContactsOnAccountName.html

SFDX:Lightning Web Component >> New >> displayContactsOnAccountName.html

displayContactsOnAccountName.html [Lightning Web Component HTML]

  1.   <template>
  2.     <lightning-card title="How to display the Contacts based on Account Name in LWC" custom-icon="custom:icon13">
  3.         <div class="slds slds-p-horizontal--medium">
  4.          <div class="slds-grid slds-wrap">
  5.             <div class="slds-col slds-size_4-of-12 slds-m-bottom--medium">
  6.                 <lightning-Input type="search" placeholder="Search..." value={accountName} name="accountName" class="accountName" onchange={handleChangeAccName}></lightning-input>                 
  7.              </div>
  8.              <div class="slds-col slds-size_6-of-12 slds-m-top--medium" style="margin-top: 19px; margin-left: 10px;">                 
  9.                     <lightning-button label="Search Account Name" size="small" variant="brand" onclick={handleAccountSearch} icon-name="utility:search" icon-position="right"></lightning-button>
  10.              </div>
  11.          </div>
  12.  
  13.          <h2>Account Name :- <span><strong>{currentAccountName}</strong></span></h2><br/> 
  14.          <h3><strong><span style="color:brown;">{dataNotFound}</span></strong></h3><br/>
  15.  
  16.            <h2 class="slds-m-bottom--x-small" style="color:darkslateblue; font-weight:bold;">Displaying Contacts Records based on Account Name</h2>
  17.            <table class="slds-table slds-table_cell-buffer slds-table_bordered" border="1" cellspacing="0" cellpadding="0" bordercolor="#ccc" style="border-collapse:collapse;">
  18.                <thead>
  19.                    <tr>
  20.                        <th>First Name</th>
  21.                        <th>Last Name</th>
  22.                        <th>Email</th>
  23.                        <th>Phone</th>
  24.                        <th>Description</th>
  25.                    </tr>
  26.                </thead>
  27.                <tbody>
  28.                    <template for:each={records} for:item="conItem">
  29.                        <tr key={conItem.Id}>
  30.                            <td>{conItem.FirstName}</td>
  31.                            <td>{conItem.LastName}</td>
  32.                            <td>{conItem.Email}</td>
  33.                            <td>{conItem.Phone}</td>
  34.                            <td>{conItem.Account.Name}</td>
  35.                        </tr>
  36.                    </template>
  37.                </tbody>
  38.            </table>
  39.         </div>
  40.  
  41. <br/><br/>
  42.    <!--Start RelatedTopics Section-->
  43. <div style="border:1px #ddd solid; padding:10px; background:#eee; margin:40px 0;">
  44.  
  45.             <p data-aura-rendered-by="435:0"><img src="https://www.w3web.net/wp-content/uploads/2021/05/thumbsUpLike.png" width="25" height="25" style="vertical-align:top; margin-right:10px;" data-aura-rendered-by="436:0"><strong data-aura-rendered-by="437:0"><span style="font-size:16px; font-style:italic; display:inline-block; margin-right:5px;">Don't forget to check out:-</span><a href="https://www.w3web.net/" target="_blank" rel="noopener noreferrer" style="text-decoration:none;" data-aura-rendered-by="440:0">An easy way to learn step-by-step online free Salesforce tutorial, To know more Click  <span style="color:#ff8000; font-size:18px;" data-aura-rendered-by="442:0">Here..</span></a></strong></p>
  46.  
  47.             <br/><br/>
  48.             <p data-aura-rendered-by="435:0"><img src="https://www.w3web.net/wp-content/uploads/2021/07/tickMarkIcon.png" width="25" height="25" style="vertical-align:top; margin-right:10px;" data-aura-rendered-by="436:0"><strong data-aura-rendered-by="437:0"><span style="font-size:17px; font-style:italic; display:inline-block; margin-right:5px; color:rgb(255 128 0);">You May Also Like →</span> </strong></p>
  49.             <div style="display:block; overflow:hidden;"> 
  50.                 <div style="width: 50%; float:left; display:inline-block">
  51.                     <ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;"> 
  52.                         <li><a href="https://www.w3web.net/lwc-get-set-lightning-checkbox-value/" target="_blank" rel="noopener noreferrer">How to get selected checkbox value in lwc</a></li>
  53.                         <li><a href="https://www.w3web.net/display-account-related-contacts-in-lwc/" target="_blank" rel="noopener noreferrer">how to display account related contacts based on AccountId in lwc</a></li>
  54.                         <li><a href="https://www.w3web.net/create-lightning-datatable-row-actions-in-lwc/" target="_blank" rel="noopener noreferrer">how to create lightning datatable row actions in lwc</a></li>
  55.                         <li><a href="https://www.w3web.net/if-and-else-condition-in-lwc/" target="_blank" rel="noopener noreferrer">how to use if and else condition in lwc</a></li>
  56.                         <li><a href="https://www.w3web.net/get-selected-radio-button-value-and-checked-default-in-lwc/" target="_blank" rel="noopener noreferrer">how to display selected radio button value in lwc</a></li>
  57.                     </ul>
  58.             </div>
  59.  
  60.             <div style="width: 50%; float:left; display:inline-block">
  61.                     <ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;"> 
  62.                         <li><a href="https://www.w3web.net/display-account-related-contacts-lwc/" target="_blank" rel="noopener noreferrer">display account related contacts based on account name in lwc</a></li>
  63.                         <li><a href="https://www.w3web.net/create-lightning-datatable-row-actions-in-lwc/" target="_blank" rel="noopener noreferrer">how to insert a record of account Using apex class in LWC</a></li>
  64.                         <li><a href="https://www.w3web.net/fetch-picklist-values-dynamic-in-lwc/" target="_blank" rel="noopener noreferrer">how to get picklist values dynamically in lwc</a></li>
  65.                         <li><a href="https://www.w3web.net/edit-save-and-remove-rows-dynamically-in-lightning-component/" target="_blank" rel="noopener noreferrer">how to edit/save row dynamically in lightning component</a></li>
  66.                         <li><a href="https://www.w3web.net/update-parent-object-from-child/" target="_blank" rel="noopener noreferrer">update parent field from child using apex trigger</a></li>
  67.                     </ul>
  68.                 </div>
  69.                <div style="clear:both;"></div> 
  70.                <br/>
  71.                 <div class="youtubeIcon">
  72.                     <a href="https://www.youtube.com/channel/UCW62gTen2zniILj9xE6LmOg" target="_blank" rel="noopener noreferrer"><img src="https://www.w3web.net/wp-content/uploads/2021/11/youtubeIcon.png" width="25" height="25" style="vertical-align:top; margin-right:10px;"/> <strong>TechW3web:-</strong> To know more, Use this <span style="color: #ff8000; font-weight: bold;">Link</span> </a>
  73.                 </div>
  74.     </div>
  75.  
  76. </div>
  77.  
  78.   <!--End RelatedTopics Section-->
  79.  
  80.     </lightning-card>
  81. </template>

Step 2:- Create Lightning Web Component : displayContactsOnAccountName.js

Note:: – You will get an email, so put correct email and mobile number and BEGIN YOUR JOURNEY from Today!
   

SFDX:Lightning Web Component >> New >> displayContactsOnAccountName.js

displayContactsOnAccountName.js [LWC JavaScript File]

  1.  
  2. import { LightningElement, track, wire } from 'lwc';
  3. import retrieveContactData from '@salesforce/apex/lwcAppExampleApex.retrieveContactData';
  4.  
  5. export default class DisplayContactsOnAccountName extends LightningElement {
  6.  
  7.    @track currentAccountName;
  8.    @track searchAccountName;
  9.     handleChangeAccName(event){
  10.       this.currentAccountName = event.target.value;      
  11.     }
  12.  
  13.     handleAccountSearch(){
  14.        this.searchAccountName = this.currentAccountName;
  15.     }
  16.  
  17.     @track records;
  18.     @track dataNotFound;
  19.     @wire (retrieveContactData,{keySearch:'$searchAccountName'})
  20.     wireRecord({data,error}){
  21.         if(data){           
  22.             this.records = data;
  23.             this.error = undefined;
  24.             this.dataNotFound = '';
  25.             if(this.records == ''){
  26.                 this.dataNotFound = 'There is no Contact found related to Account name';
  27.             }
  28.  
  29.            }else{
  30.                this.error = error;
  31.                this.data=undefined;
  32.            }
  33.     }
  34. }

 

Step 3:- Create Lightning Web Component : displayContactsOnAccountName.js-meta.xml

SFDX:Lightning Web Component >> New >> displayContactsOnAccountName.js-meta.xml

displayContactsOnAccountName.js-meta.xml [LWC Meta Data XML]

  1.   <?xml version="1.0" encoding="UTF-8"?>
  2. <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
  3.     <apiVersion>45.0</apiVersion>
  4.     <isExposed>true</isExposed>
  5.     <targets>
  6.         <target>lightning__AppPage</target>
  7.         <target>lightning__RecordPage</target>
  8.         <target>lightning__HomePage</target>
  9.         <target>lightning__Tab</target>
  10.       </targets>
  11. </LightningComponentBundle>

Start Apex Controller

Step 4:- Create Apex Controller : lwcAppExampleApex.cls

SFDX:Create Apex Class >> New >> lwcAppExampleApex.cls

lwcAppExampleApex.cls [Apex Class]

  1.   public WITH sharing class lwcAppExampleApex {
  2.  
  3.     @AuraEnabled(cacheable=TRUE)
  4.     public static List<Contact> retrieveContactData(string keySearch){       
  5.  
  6.         List<Contact> contactList = [SELECT Id, FirstName, LastName, Email, Phone, Account.Name FROM Contact WHERE Account.Name=:keySearch];
  7.         RETURN contactList;
  8.     }
  9. }

Start Lightning Application

Step 5:- Create Lightning Application : lwcApp.app

From Developer Console >> File >> New >> Lightning Application

lwcApp.app [Component Application File]

  1.   <aura:application extends="force:slds">
  2.   <c:displayContactsOnAccountName/>
  3. </aura:application>

display account related contacts in lwc -- w3web.net

Further post that would you like to learn in Salesforce

 

 

 

 

FAQ (Frequently Asked Questions)

How do I associate a contact with multiple accounts in Salesforce?

From Setup, enter Account Settings in the Quick Find box, then select Account Settings. Select Allow users to relate a contact to multiple accounts. You can use custom fields to capture unique information about relationships—for example, the best time to call a contact.

How do you display related records in lightning component?

First, edit the lightning page layout by clicking on the setup gear in the upper right-hand corner and selecting Edit Page. Add a related record component by dragging it from the component list to the page. Choose which record is displayed by clicking Edit Lookup Fields and choosing contact name and then done.

What is the difference between related contacts and contacts in Salesforce?

Contacts are the standard relationship for People who are under that Account. The 'Related Contacts' lists is a result of activating Contacts to Multiple Accounts. This feature is used when contacts work at different companies and removes the need for duplicates.

Related Topics | You May Also Like

 
Note:: – You will get an email, so put correct email and mobile number and BEGIN YOUR JOURNEY from Today!
 
 
  

Our Free Courses →

👉 Get Free Course →

📌 Salesforce Administrators

📌 Salesforce Lightning Flow Builder

📌 Salesforce Record Trigger Flow Builder

👉 Get Free Course →

📌 Aura Lightning Framework

📌 Lightning Web Component (LWC)

📌 Rest APIs Integration



Hi, This is Vijay Kumar behind the admin and founder of w3web.net. I am a senior software developer and working in MNC company from more than 8 years. I am great fan of technology, configuration, customization & development. Apart of this, I love to write about Blogging in spare time, Working on Mobile & Web application development, Salesforce lightning, Salesforce LWC and Salesforce Integration development in full time. [Read full bio] | | The Sitemap where you can find all published post on w3web.net

Leave a Comment