Mass Updating Records with a Custom Controller Using Visualforce Page

Here's an example illustrating these steps:

Controller

public with sharing class MassUpdateController {
    public List<MyObject__c> records { get; set; }
    public Set<Id> selectedIds { get; set; }

    public MassUpdateController() {
        // Fetch records to display
        records = [SELECT Id, Name, Active__c FROM Agent__c LIMIT 10];
        selectedIds = new Set<Id>();
    }

    // Method to handle the mass update operation
    public PageReference performMassUpdate() {
        List< Agent__c > recordsToUpdate = new List< Agent__c >();

        // Fetch selected records to update
        for (Agent__c record : records) {
            if (selectedIds.contains(record.Id)) {
                // Apply changes to records
                record.Active__c = false;
                recordsToUpdate.add(record);
            }
        }

        // Perform bulk update
        if (!recordsToUpdate.isEmpty()) {
            update recordsToUpdate;
        }

        // Redirect back to the Visualforce page or any other desired page
        return ApexPages.currentPage();
    }

}


Visualforce 

<apex:page controller="MassUpdateController">
    <apex:form>
        <apex:pageBlock>
            <apex:pageBlockTable value="{!records}" var="record">
                <apex:column>
                    <apex:inputCheckbox value="{!selectedIds}" id="selected" layout="labelOnly" />
                </apex:column>
                <apex:column value="{!record.Name}" />
                <apex:column value="{!record.Active__c}" />
            </apex:pageBlockTable>
            <apex:commandButton value="Agent Mass Update" action="{!performMassUpdate}" rerender="none"/>
        </apex:pageBlock>
    </apex:form>

</apex:page>



Comments

Popular posts from this blog

Introduction to Salesforce Agent Script: Build Predictable AI Agents

Anti-Patterns in Salesforce Agentforce: What to Avoid When Building AI Agents

MCP vs. Traditional APIs: Choosing the Right Integration Approach