

{"id":24370,"date":"2018-08-28T08:16:39","date_gmt":"2018-08-28T08:16:39","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=24370"},"modified":"2018-11-04T12:57:12","modified_gmt":"2018-11-04T07:27:12","slug":"salesforce-list-controller","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/","title":{"rendered":"Salesforce List Controller &#8211; Standard and Custom List Controller"},"content":{"rendered":"<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:1786,&quot;href&quot;:&quot;https:\\\/\\\/developer.salesforce.com&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20251006133841\\\/https:\\\/\\\/developer.salesforce.com\\\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-10 00:15:06&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-14 18:33:58&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-18 03:15:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-22 16:44:45&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2025-12-29 13:51:38&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-03 22:37:50&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-09 13:01:27&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-12 21:28:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-18 13:41:57&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-22 05:32:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-25 11:13:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-01-29 19:29:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-02 19:00:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-10 06:40:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-13 10:00:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-16 17:58:42&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-19 20:20:09&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-24 11:17:55&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-05 01:39:01&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-10 08:56:23&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-16 05:36:10&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-22 12:52:02&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-26 07:12:48&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-29 12:01:17&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-03 02:23:49&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-08 09:37:43&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-14 12:29:31&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-17 21:22:30&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-23 18:37:30&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-27 13:03:03&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-05-02 03:38:59&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-05-05 23:36:05&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-05-14 09:09:22&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-05-18 12:34:57&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-05-26 14:08:23&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-06-01 12:13:56&quot;,&quot;http_code&quot;:403}],&quot;broken&quot;:true,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-01 12:13:56&quot;,&quot;http_code&quot;:403},&quot;process&quot;:&quot;done&quot;}]'><\/div>\n<h2>1. Objective<\/h2>\n<p><span style=\"font-weight: 400\">In this <strong><a href=\"https:\/\/data-flair.training\/blogs\/salesforce-tutorial\/\">Salesforce<\/a><\/strong> List Controller Tutorial, we are about to learn what does a List controller mean. Moreover, we will discuss how to build\u00a0a Custom List Controller and using Standard Salesforce List Controller.<\/span><br \/>\nSo, let&#8217;s start Salesforce List Controller.<\/p>\n<div id=\"attachment_24379\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Salesforce-List-Controller-01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-24379\" class=\"wp-image-24379 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Salesforce-List-Controller-01.jpg\" alt=\"Salesforce List Controller - Standard and Custom List Controller\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Salesforce-List-Controller-01.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Salesforce-List-Controller-01-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Salesforce-List-Controller-01-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Salesforce-List-Controller-01-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Salesforce-List-Controller-01-1024x536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-24379\" class=\"wp-caption-text\">Salesforce List Controller &#8211; Standard and Custom List Controller<\/p><\/div>\n<p><strong><a href=\"https:\/\/data-flair.training\/blogs\/salesforce-objects\/\">Do you know about Salesforce Objects<\/a><\/strong><\/p>\n<h2><span style=\"font-weight: 400\">2. What is Salesforce List Controller?<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Salesforce list controller is nothing but a controller which assist and helps you to create Visualforce pages that can act on a set of records. For an instance all the pages in Salesforce that work with the set of records like list pages, mass action pages, and related lists. It is used for the following <\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Account<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Campaign<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Asset<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Case<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Contract<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Lead<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Idea<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Opportunity<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Product2<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Order<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Solution<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Custom objects<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">User<\/span><\/li>\n<\/ul>\n<h2><span style=\"font-weight: 400\">3. Building a Custom List Controller in Salesforce<\/span><\/h2>\n<p><span style=\"font-weight: 400\">A costume list controller and standard list controller are similar to each other. Costume list controller has the power to implement apex logic that is defined to act on the set of records. <\/span><\/p>\n<pre class=\"EnlighterJSRAW\">public class opportunityList2Con {\r\n   \/\/ ApexPages.StandardSetController must be instantiated\r\n   \/\/ for standard list controllers\r\n   public ApexPages.StandardSetController setCon {\r\n       get {\r\n           if(setCon == null) {\r\n               setCon = new ApexPages.StandardSetController(Database.getQueryLocator(\r\n                   [SELECT Name, CloseDate FROM Opportunity]));\r\n           }\r\n           return setCon;\r\n       }\r\n       set;\r\n   }\r\n   \/\/ Initialize setCon and return a list of records\r\n   public List&lt;Opportunity&gt; getOpportunities() {\r\n       return (List&lt;Opportunity&gt;) setCon.getRecords();\r\n   }\r\n}<\/pre>\n<p>A costume list controller can also be created that uses anti- and semi-joins as one of the parts of SOQL query. It can be done in the following ways.<br \/>\n<strong><a href=\"https:\/\/data-flair.training\/blogs\/salesforce-environment\/\">Have a look at Salesforce Environment<\/a><\/strong><\/p>\n<pre class=\"EnlighterJSRAW\">public with sharing class AccountPagination {\r\n   private final Account acct;\r\n   \/\/ The constructor passes in the standard controller defined\r\n   \/\/ in the markup below\r\n   public AccountPagination(ApexPages.StandardSetController controller) {\r\n       this.acct = (Account)controller.getRecord();\r\n   }\r\n   public ApexPages.StandardSetController accountRecords {\r\n       get {\r\n           if(accountRecords == null) {\r\n               accountRecords = new ApexPages.StandardSetController(\r\n                   Database.getQueryLocator([SELECT Name FROM Account WHERE Id NOT IN\r\n                       (SELECT AccountId FROM Opportunity WHERE IsClosed = true)]));\r\n           }\r\n           return accountRecords;\r\n       }\r\n       private set;\r\n   }\r\n   public List&lt;Account&gt; getAccountPagination() {\r\n        return (List&lt;Account&gt;) accountRecords.getRecords();\r\n   }\r\n}<\/pre>\n<p><span style=\"font-weight: 400\">The page that shows all these records uses a set of standard list controller actions, still, it all depends on iterating over the records returned. <\/span><\/p>\n<pre class=\"EnlighterJSRAW\">&lt;apex:page standardController=\"Account\" recordSetVar=\"accounts\" extensions=\"AccountPagination\"&gt;\r\n   &lt;apex:pageBlock title=\"Viewing Accounts\"&gt;\r\n       &lt;apex:form id=\"theForm\"&gt;\r\n           &lt;apex:pageBlockSection &gt;\r\n               &lt;apex:dataList value=\"{!accountPagination}\" var=\"acct\" type=\"1\"&gt;\r\n                   {!acct.name}\r\n               &lt;\/apex:dataList&gt;\r\n           &lt;\/apex:pageBlockSection&gt;\r\n           &lt;apex:panelGrid columns=\"2\"&gt;\r\n               &lt;apex:commandLink action=\"{!previous}\"&gt;Previous&lt;\/apex:commandlink&gt;\r\n               &lt;apex:commandLink action=\"{!next}\"&gt;Next&lt;\/apex:commandlink&gt;\r\n           &lt;\/apex:panelGrid&gt;\r\n       &lt;\/apex:form&gt;\r\n   &lt;\/apex:pageBlock&gt;\r\n&lt;\/apex:page&gt;<\/pre>\n<h2><span style=\"font-weight: 400\">4. Using Standard List Controller <\/span><\/h2>\n<p><span style=\"font-weight: 400\">Action strategies perform logic or navigation once a page event happens, like once a user clicks a button, or hovers over an area of the page. Action strategies is referred to as from page markup by using notation within the action parameter of 1 of the following tags:<\/span><br \/>\n<strong><a href=\"https:\/\/data-flair.training\/blogs\/export-data-in-salesforce\/\">Do you know about Salesforce Export Data<\/a><\/strong><\/p>\n<table style=\"height: 472px\" width=\"895\">\n<tbody>\n<tr>\n<td>\n<table>\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400\">Save<\/span><\/td>\n<td><span style=\"font-weight: 400\">Inserts new records or updates existing records that are modified. after this operation is finished, the save action returns the user to the initial page, if known, or the home page.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Quick Save <\/span><\/td>\n<td><span style=\"font-weight: 400\">Inserts new records or updates existing records that are modified. in contrast to the save action, quicksave doesn&#8217;t redirect the user to a different page.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">List<\/span><\/td>\n<td><span style=\"font-weight: 400\">Returns a PageReference object of the standard list page, based on the foremost recently used list filter for that object once the filtered isn&#8217;t specified by the user.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Cancel<\/span><\/td>\n<td><span style=\"font-weight: 400\">Aborts an edit operation. when this operation is finished, the cancel action returns the user to the page where the user originally invoked the edit.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">First<\/span><\/td>\n<td><span style=\"font-weight: 400\">Displays the primary page of records within the set.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Last<\/span><\/td>\n<td><span style=\"font-weight: 400\">Displays the last page of records within the set.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Next<\/span><\/td>\n<td><span style=\"font-weight: 400\">Displays consecutive page of records within the set.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Previous<\/span><\/td>\n<td><span style=\"font-weight: 400\">Displays the previous page of records within the set.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>So, this was all in the Salesforce List Controller. Hope you like our explanation.<\/p>\n<h2>5. Conclusion: Salesforce List Controller<\/h2>\n<p><span style=\"font-weight: 400\">In this Salesforce List Controller tutorial, we learned what does the term list controller in Salesforce means. Moreover, we discussed building a custom list controller and using standard list controller. still, if any doubt occurs, ask in the comment tab.<\/span><br \/>\n<strong>See also &#8211;<\/strong><br \/>\n<a href=\"https:\/\/data-flair.training\/blogs\/role-hierarchy-in-salesforce\/\"><strong>Role Hierarchy in Salesforce<\/strong><\/a><br \/>\n<strong><a href=\"https:\/\/developer.salesforce.com\/\">For reference<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Objective In this Salesforce List Controller Tutorial, we are about to learn what does a List controller mean. Moreover, we will discuss how to build\u00a0a Custom List Controller and using Standard Salesforce List&#46;&#46;&#46;<\/p>\n","protected":false},"author":6,"featured_media":24379,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[54],"tags":[2199,2970,8320,11792,13729,15125,15303,15813],"class_list":["post-24370","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-salesforce","tag-building-a-custom-list-controller","tag-controllers-in-salesforce","tag-list-controller-in-salesforce","tag-salesforce-list-controller","tag-standard-list-controller","tag-types-on-controller-in-salesforce","tag-using-standard-list-controller","tag-what-is-list-controller"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Salesforce List Controller - Standard and Custom List Controller - DataFlair<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Salesforce List Controller - Standard and Custom List Controller - DataFlair\" \/>\n<meta property=\"og:description\" content=\"1. Objective In this Salesforce List Controller Tutorial, we are about to learn what does a List controller mean. Moreover, we will discuss how to build\u00a0a Custom List Controller and using Standard Salesforce List&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-08-28T08:16:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-11-04T07:27:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Salesforce-List-Controller-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Salesforce List Controller - Standard and Custom List Controller - DataFlair","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/","og_locale":"en_US","og_type":"article","og_title":"Salesforce List Controller - Standard and Custom List Controller - DataFlair","og_description":"1. Objective In this Salesforce List Controller Tutorial, we are about to learn what does a List controller mean. Moreover, we will discuss how to build\u00a0a Custom List Controller and using Standard Salesforce List&#46;&#46;&#46;","og_url":"https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-08-28T08:16:39+00:00","article_modified_time":"2018-11-04T07:27:12+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Salesforce-List-Controller-01.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89"},"headline":"Salesforce List Controller &#8211; Standard and Custom List Controller","datePublished":"2018-08-28T08:16:39+00:00","dateModified":"2018-11-04T07:27:12+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/"},"wordCount":527,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Salesforce-List-Controller-01.jpg","keywords":["Building a Custom List Controller","Controllers in salesforce","List Controller in Salesforce","Salesforce list Controller","Standard List Controller","Types on Controller in salesforce","Using Standard List Controller","What is List Controller"],"articleSection":["Salesforce Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/","url":"https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/","name":"Salesforce List Controller - Standard and Custom List Controller - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Salesforce-List-Controller-01.jpg","datePublished":"2018-08-28T08:16:39+00:00","dateModified":"2018-11-04T07:27:12+00:00","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Salesforce-List-Controller-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/08\/Salesforce-List-Controller-01.jpg","width":1200,"height":628,"caption":"Salesforce List Controller - Standard and Custom List Controller"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/salesforce-list-controller\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Salesforce Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/salesforce\/"},{"@type":"ListItem","position":3,"name":"Salesforce List Controller &#8211; Standard and Custom List Controller"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"The DataFlair Team provides industry-driven content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our expert educators focus on delivering value-packed, easy-to-follow resources for tech enthusiasts and professionals.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam2\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/24370","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=24370"}],"version-history":[{"count":3,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/24370\/revisions"}],"predecessor-version":[{"id":31517,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/24370\/revisions\/31517"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/24379"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=24370"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=24370"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=24370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}