Skip to main content

Latest Post

Custom Metadata Types vs Custom Settings vs Custom Labels

  Custom Metadata Types vs Custom Settings vs Custom Labels 💬 In plain words:  Three lookalikes: Custom Metadata = configuration that DEPLOYS with your code (best for app settings). Custom Settings = org/user-specific values, changeable at runtime (hierarchy type is great for bypass switches). Custom Labels = translatable text for the UI. 📌 Example:  API endpoint URLs per environment → Custom Metadata (deploys with code, sandbox vs prod values). A 'Bypass_Automation__c' checkbox an admin flips during data load → hierarchy Custom Setting. The word 'Submit' translated to Hindi → Custom Label. 🎬 Real-Life Example: The Fee Table Trapped Inside Code  Skyline charges a different delivery fee per city. Apex needs those rates on every booking. The Old/Bad Way:  if (city == 'Delhi') fee = 50. Else if (city == 'Mumbai') fee = 65. … Every rate change is a code change, a test run, and a deployment. Why this is bad:  Business data is trappe...

LWC Full Dynamic Code for Pre-Populated Selected Records in LWC Datatable

Introduction:

In Lightning Web Components (LWC), the Datatable component is a powerful tool for displaying data in a tabular format. One common requirement is to pre-populate the selected records in the datatable based on certain criteria. In this blog post, we will explore how to achieve this functionality using LWC and write a fully dynamic code snippet to accomplish the task.


Prerequisites:


Before proceeding, make sure you have a basic understanding of Lightning Web Components, including component creation, data binding, and event handling. Familiarity with JavaScript and HTML will also be helpful.


Step 1: Setting up the Project


Assuming you have a Salesforce DX project set up, create a new LWC component using the following command:


sfdx force:lightning:component:create -n MyDataTable


Step 2: Implementing the Datatable Component


Open the newly created component file (MyDataTable.js) and replace the existing code with the following snippet:


import { LightningElement, track, wire } from 'lwc';

import { getObjectInfo } from 'lightning/uiObjectInfoApi';

import { getPicklistValuesByRecordType } from 'lightning/uiObjectInfoApi';

import { getRecord } from 'lightning/uiRecordApi';


export default class MyDataTable extends LightningElement {

    @track selectedRows = [];

    @track data = [];

    @track columns = [

        // Define your columns here

    ];


    @wire(getObjectInfo, { objectApiName: '<your_object_api_name>' })

    objectInfo;


    @wire(getPicklistValuesByRecordType, { objectApiName: '<your_object_api_name>' })

    recordTypePicklistValues;


    @wire(getRecord, { recordId: '<your_record_id>', fields: ['<your_object_api_name>.<your_field_api_name>'] })

    wiredRecord({ error, data }) {

        if (data) {

            // Logic to pre-populate the selected rows based on the retrieved record data

        } else if (error) {

            // Handle the error

        }

    }


    handleRowSelection(event) {

        this.selectedRows = event.detail.selectedRows;

    }

}


Step 3: Customization


Replace <your_object_api_name> with the API name of the object you're working with, and <your_field_api_name> with the API name of the field that determines the selection. Update the columns array to define the columns you want to display in the datatable.


Step 4: HTML Markup


Open the component's HTML file (MyDataTable) and replace the existing code with the following snippet:


<template>

    <lightning-datatable

        data={data}

        columns={columns}

        key-field="Id"

        selected-rows={selectedRows}

        onrowselection={handleRowSelection}>

    </lightning-datatable>

</template>


Step 5: Styling (Optional)


If desired, you can add custom CSS styles to the component by creating a CSS file (MyDataTable.css) and referencing it in the HTML file using the `lightning:stylesheet` tag.


Step 6: Testing


To test the component, include it in a parent component or app and deploy it to your Salesforce org. Make sure to pass the required parameters, such as the recordId, to pre-populate the selected records.


Conclusion:


In this blog post, we have explored how to write a fully dynamic code snippet in LWC to pre-populate selected records in a datatable. By leveraging the power of LWC, you can create flexible and interactive components that meet your specific business requirements. Feel free to modify the code as per your needs and explore additional functionalities provided by the Lightning Web Components framework. Happy coding!

Popular Posts

Salesforce LWC Code for Multi-Select Lookup

Introduction: In Salesforce Lightning Web Components (LWC), implementing a multi-select lookup field can enhance the user experience and provide greater flexibility for selecting multiple related records. In this blog post, we will walk through the process of creating a multi-select lookup field using LWC. We will cover the required code snippets and provide step-by-step instructions to help you implement this functionality in your Salesforce org.