{"id":453,"date":"2021-03-09T15:04:08","date_gmt":"2021-03-09T15:04:08","guid":{"rendered":"http:\/\/lhotsetechnologies.com\/blog\/?p=453"},"modified":"2021-03-11T15:11:40","modified_gmt":"2021-03-11T15:11:40","slug":"how-to-dynamically-populate-ootb-table-component-in-adaptive-form","status":"publish","type":"post","link":"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/","title":{"rendered":"How to Dynamically populate OOTB Table Component in Adaptive Form"},"content":{"rendered":"\n<p>In this blog, I want to share how you can dynamically prepopulate out of the box table component. You do not have to create your own custom table component to serve data dynamically in form of table.<br><\/p>\n\n\n\n<p>First, drop out of the box table component on to page as shown:-<br><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/44_3hQIx4hYptkYEOnYDm7mwG3Vxv3kzJ5aBfmry5aQ44Jv_NZQ2EsGxWFdzV-hmqeraBNrdKMF6YiOt4kS_3epCoGYUU2ICBQvoaz8Uk1YspBYnVlFn2IJDHw1K4UjAePoxV20D\" alt=\"\"\/><\/figure>\n\n\n\n<p>Now for example, I want five rows dynamically, so I need to create row1 inside prefill service as shown where I created multiple rows:-<br><\/p>\n\n\n\n<p>import com.adobe.forms.common.service.*;<\/p>\n\n\n\n<p>import org.osgi.service.component.annotations.Component;<\/p>\n\n\n\n<p>import org.slf4j.Logger;<\/p>\n\n\n\n<p>import org.slf4j.LoggerFactory;<\/p>\n\n\n\n<p>import org.w3c.dom.Document;<\/p>\n\n\n\n<p>import org.w3c.dom.Element;<br><\/p>\n\n\n\n<p>import javax.xml.parsers.DocumentBuilder;<\/p>\n\n\n\n<p>import javax.xml.parsers.DocumentBuilderFactory;<\/p>\n\n\n\n<p>import javax.xml.transform.TransformerFactory;<\/p>\n\n\n\n<p>import javax.xml.transform.dom.DOMSource;<\/p>\n\n\n\n<p>import javax.xml.transform.stream.StreamResult;<\/p>\n\n\n\n<p>import java.io.ByteArrayInputStream;<\/p>\n\n\n\n<p>import java.io.ByteArrayOutputStream;<\/p>\n\n\n\n<p>import java.io.InputStream;<br><\/p>\n\n\n\n<p>@Component()<\/p>\n\n\n\n<p>public class MyPrefillAdaptiveForm implements DataProvider {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;private Logger logger = LoggerFactory.getLogger(MyPrefillAdaptiveForm.class);<br><\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;public String getServiceName() {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#8220;My Prefill Service Name&#8221;;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;}<br><\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;public String getServiceDescription() {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#8220;My Prefill Service&#8221;;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;}<br><\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;public PrefillData getPrefillData(final DataOptions dataOptions) throws FormsException {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return new PrefillData() {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public InputStream getInputStream() {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return getData(dataOptions);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public ContentType getContentType() {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return ContentType.XML;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;}<br><\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;private InputStream getData(DataOptions dataOptions) throws FormsException {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try {<br><\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DocumentBuilder docBuilder = docFactory.newDocumentBuilder();<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Document doc = docBuilder.newDocument();<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Element rootElement = doc.createElement(&#8220;data&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doc.appendChild(rootElement);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Element col1 = doc.createElement(&#8220;tableItem11&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col1.setTextContent(&#8220;1111&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Element col2 = doc.createElement(&#8220;tableItem12&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col2.setTextContent(&#8220;2222&#8221;);<br><\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Element row1 = doc.createElement(&#8220;Row1&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row1.appendChild(col1);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row1.appendChild(col2);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rootElement.appendChild(row1);<br><\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row1 = doc.createElement(&#8220;Row1&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col1 = doc.createElement(&#8220;tableItem11&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col1.setTextContent(&#8220;33&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col2 = doc.createElement(&#8220;tableItem12&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col2.setTextContent(&#8220;44&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row1.appendChild(col1);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row1.appendChild(col2);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rootElement.appendChild(row1);<br><\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row1 = doc.createElement(&#8220;Row1&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col1 = doc.createElement(&#8220;tableItem11&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col1.setTextContent(&#8220;55&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col2 = doc.createElement(&#8220;tableItem12&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col2.setTextContent(&#8220;66&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row1.appendChild(col1);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row1.appendChild(col2);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rootElement.appendChild(row1);<br><\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row1 = doc.createElement(&#8220;Row1&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col1 = doc.createElement(&#8220;tableItem11&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col1.setTextContent(&#8220;77&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col2 = doc.createElement(&#8220;tableItem12&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col2.setTextContent(&#8220;88&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row1.appendChild(col1);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row1.appendChild(col2);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rootElement.appendChild(row1);<br><\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row1 = doc.createElement(&#8220;Row1&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col1 = doc.createElement(&#8220;tableItem11&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col1.setTextContent(&#8220;99&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col2 = doc.createElement(&#8220;tableItem12&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col2.setTextContent(&#8220;10&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row1.appendChild(col1);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row1.appendChild(col2);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rootElement.appendChild(row1);<br><\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;final DOMSource source = new DOMSource(doc);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;final StreamResult outputTarget = new StreamResult(outputStream);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TransformerFactory.newInstance().newTransformer().transform(source, outputTarget);<br><\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return inputStream;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} catch (Exception e) {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.error(&#8220;Error while creating prefill data&#8221;, e);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw new FormsException(e);<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;}<\/p>\n\n\n\n<p>}<br><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Now some configuration needs to be done to make this logic to work.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>You need to set the min and max value of Row1 dialog as shown.<\/li><\/ul>\n\n\n\n<p>i.e. <strong>min <\/strong>= 1, <strong>max <\/strong>= -1 where -1 indicates unlimited number of rows.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/95ZE9j1JSyuXP3VF6MM7LE2BarCELIGS1P5xPMYoe06-jEjABli8TawvebgVuPs5CCMfvulStI4UsjYntUNzl8qmbczF7Wd58OLMqaJEGyYD4xKFcANrho7O1Bim1RRLSF97-Ir2\" alt=\"\"\/><\/figure>\n\n\n\n<p>So now when you choose your prefill service under <strong>Prefill Service<\/strong> option then click on <strong>Preview,<\/strong> now you can see rows according to your dynamic data as shown.<br><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/R6RHMPg6V4HfNZn94dgaJ8as16vSMfHxHiV-asZW8e-rz_G7wPA6eJmcNTBARogHbbfSTZnfmGMGtys56fCognC2KrmfaF13yXKvb6MLgZu1XZAT23VLFKIsZCVC32wkAieykeUH\" alt=\"\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Notes:-\u00a0<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Name in java code should be the same as name in the dialog of table or row1.<\/li><li>Authoring min and max value is must for the table component to work.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>In this blog, I want to share how you can dynamically prepopulate out of the box table component. You do [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[295],"tags":[293,269,296,297,298,294],"class_list":["post-453","post","type-post","status-publish","format-standard","hentry","category-adpative-form","tag-adaptive-forms","tag-aem","tag-dynamically-generate-table","tag-dynamically-populate-ootb-table-component","tag-populate-adaptive-form-table","tag-prefill-service-in-adaptive-forms"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Dynamically populate OOTB Table Component in Adaptive Form - AEM Blog | Lhotse Technologies<\/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:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Dynamically populate OOTB Table Component in Adaptive Form - AEM Blog | Lhotse Technologies\" \/>\n<meta property=\"og:description\" content=\"In this blog, I want to share how you can dynamically prepopulate out of the box table component. You do [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/\" \/>\n<meta property=\"og:site_name\" content=\"AEM Blog | Lhotse Technologies\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-09T15:04:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-03-11T15:11:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/lh3.googleusercontent.com\/44_3hQIx4hYptkYEOnYDm7mwG3Vxv3kzJ5aBfmry5aQ44Jv_NZQ2EsGxWFdzV-hmqeraBNrdKMF6YiOt4kS_3epCoGYUU2ICBQvoaz8Uk1YspBYnVlFn2IJDHw1K4UjAePoxV20D\" \/>\n<meta name=\"author\" content=\"Shivam Kumar Chauhan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Shivam Kumar Chauhan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/\"},\"author\":{\"name\":\"Shivam Kumar Chauhan\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/b8eb4eeb9ca844d32b54de183c946afc\"},\"headline\":\"How to Dynamically populate OOTB Table Component in Adaptive Form\",\"datePublished\":\"2021-03-09T15:04:08+00:00\",\"dateModified\":\"2021-03-11T15:11:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/\"},\"wordCount\":1245,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/lh3.googleusercontent.com\/44_3hQIx4hYptkYEOnYDm7mwG3Vxv3kzJ5aBfmry5aQ44Jv_NZQ2EsGxWFdzV-hmqeraBNrdKMF6YiOt4kS_3epCoGYUU2ICBQvoaz8Uk1YspBYnVlFn2IJDHw1K4UjAePoxV20D\",\"keywords\":[\"Adaptive Forms\",\"AEM\",\"Dynamically generate Table\",\"Dynamically populate OOTB table component\",\"populate adaptive form table\",\"Prefill Service in Adaptive Forms\"],\"articleSection\":[\"Adpative Form\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/\",\"url\":\"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/\",\"name\":\"How to Dynamically populate OOTB Table Component in Adaptive Form - AEM Blog | Lhotse Technologies\",\"isPartOf\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/lh3.googleusercontent.com\/44_3hQIx4hYptkYEOnYDm7mwG3Vxv3kzJ5aBfmry5aQ44Jv_NZQ2EsGxWFdzV-hmqeraBNrdKMF6YiOt4kS_3epCoGYUU2ICBQvoaz8Uk1YspBYnVlFn2IJDHw1K4UjAePoxV20D\",\"datePublished\":\"2021-03-09T15:04:08+00:00\",\"dateModified\":\"2021-03-11T15:11:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/#primaryimage\",\"url\":\"https:\/\/lh3.googleusercontent.com\/44_3hQIx4hYptkYEOnYDm7mwG3Vxv3kzJ5aBfmry5aQ44Jv_NZQ2EsGxWFdzV-hmqeraBNrdKMF6YiOt4kS_3epCoGYUU2ICBQvoaz8Uk1YspBYnVlFn2IJDHw1K4UjAePoxV20D\",\"contentUrl\":\"https:\/\/lh3.googleusercontent.com\/44_3hQIx4hYptkYEOnYDm7mwG3Vxv3kzJ5aBfmry5aQ44Jv_NZQ2EsGxWFdzV-hmqeraBNrdKMF6YiOt4kS_3epCoGYUU2ICBQvoaz8Uk1YspBYnVlFn2IJDHw1K4UjAePoxV20D\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/lhotsetechnologies.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Dynamically populate OOTB Table Component in Adaptive Form\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#website\",\"url\":\"https:\/\/lhotsetechnologies.com\/blog\/\",\"name\":\"AEM Blog | Lhotse Technologies\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/lhotsetechnologies.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#organization\",\"name\":\"AEM Blog | Lhotse Technologies\",\"url\":\"https:\/\/lhotsetechnologies.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/lhotsetechnologies.com\/blog\/wp-content\/uploads\/2019\/07\/lhotse-logo.png\",\"contentUrl\":\"https:\/\/lhotsetechnologies.com\/blog\/wp-content\/uploads\/2019\/07\/lhotse-logo.png\",\"width\":539,\"height\":172,\"caption\":\"AEM Blog | Lhotse Technologies\"},\"image\":{\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/b8eb4eeb9ca844d32b54de183c946afc\",\"name\":\"Shivam Kumar Chauhan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2f5546b9c2e40950ed53a7c2b059fdc37faa2a27d1faa038b2701bba8112e1ad?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2f5546b9c2e40950ed53a7c2b059fdc37faa2a27d1faa038b2701bba8112e1ad?s=96&d=mm&r=g\",\"caption\":\"Shivam Kumar Chauhan\"},\"url\":\"https:\/\/lhotsetechnologies.com\/blog\/author\/shivam\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Dynamically populate OOTB Table Component in Adaptive Form - AEM Blog | Lhotse Technologies","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:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/","og_locale":"en_US","og_type":"article","og_title":"How to Dynamically populate OOTB Table Component in Adaptive Form - AEM Blog | Lhotse Technologies","og_description":"In this blog, I want to share how you can dynamically prepopulate out of the box table component. You do [&hellip;]","og_url":"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/","og_site_name":"AEM Blog | Lhotse Technologies","article_published_time":"2021-03-09T15:04:08+00:00","article_modified_time":"2021-03-11T15:11:40+00:00","og_image":[{"url":"https:\/\/lh3.googleusercontent.com\/44_3hQIx4hYptkYEOnYDm7mwG3Vxv3kzJ5aBfmry5aQ44Jv_NZQ2EsGxWFdzV-hmqeraBNrdKMF6YiOt4kS_3epCoGYUU2ICBQvoaz8Uk1YspBYnVlFn2IJDHw1K4UjAePoxV20D","type":"","width":"","height":""}],"author":"Shivam Kumar Chauhan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Shivam Kumar Chauhan","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/#article","isPartOf":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/"},"author":{"name":"Shivam Kumar Chauhan","@id":"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/b8eb4eeb9ca844d32b54de183c946afc"},"headline":"How to Dynamically populate OOTB Table Component in Adaptive Form","datePublished":"2021-03-09T15:04:08+00:00","dateModified":"2021-03-11T15:11:40+00:00","mainEntityOfPage":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/"},"wordCount":1245,"commentCount":0,"publisher":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/#organization"},"image":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/#primaryimage"},"thumbnailUrl":"https:\/\/lh3.googleusercontent.com\/44_3hQIx4hYptkYEOnYDm7mwG3Vxv3kzJ5aBfmry5aQ44Jv_NZQ2EsGxWFdzV-hmqeraBNrdKMF6YiOt4kS_3epCoGYUU2ICBQvoaz8Uk1YspBYnVlFn2IJDHw1K4UjAePoxV20D","keywords":["Adaptive Forms","AEM","Dynamically generate Table","Dynamically populate OOTB table component","populate adaptive form table","Prefill Service in Adaptive Forms"],"articleSection":["Adpative Form"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/","url":"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/","name":"How to Dynamically populate OOTB Table Component in Adaptive Form - AEM Blog | Lhotse Technologies","isPartOf":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/#primaryimage"},"image":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/#primaryimage"},"thumbnailUrl":"https:\/\/lh3.googleusercontent.com\/44_3hQIx4hYptkYEOnYDm7mwG3Vxv3kzJ5aBfmry5aQ44Jv_NZQ2EsGxWFdzV-hmqeraBNrdKMF6YiOt4kS_3epCoGYUU2ICBQvoaz8Uk1YspBYnVlFn2IJDHw1K4UjAePoxV20D","datePublished":"2021-03-09T15:04:08+00:00","dateModified":"2021-03-11T15:11:40+00:00","breadcrumb":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/#primaryimage","url":"https:\/\/lh3.googleusercontent.com\/44_3hQIx4hYptkYEOnYDm7mwG3Vxv3kzJ5aBfmry5aQ44Jv_NZQ2EsGxWFdzV-hmqeraBNrdKMF6YiOt4kS_3epCoGYUU2ICBQvoaz8Uk1YspBYnVlFn2IJDHw1K4UjAePoxV20D","contentUrl":"https:\/\/lh3.googleusercontent.com\/44_3hQIx4hYptkYEOnYDm7mwG3Vxv3kzJ5aBfmry5aQ44Jv_NZQ2EsGxWFdzV-hmqeraBNrdKMF6YiOt4kS_3epCoGYUU2ICBQvoaz8Uk1YspBYnVlFn2IJDHw1K4UjAePoxV20D"},{"@type":"BreadcrumbList","@id":"https:\/\/lhotsetechnologies.com\/blog\/how-to-dynamically-populate-ootb-table-component-in-adaptive-form\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/lhotsetechnologies.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Dynamically populate OOTB Table Component in Adaptive Form"}]},{"@type":"WebSite","@id":"https:\/\/lhotsetechnologies.com\/blog\/#website","url":"https:\/\/lhotsetechnologies.com\/blog\/","name":"AEM Blog | Lhotse Technologies","description":"","publisher":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/lhotsetechnologies.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/lhotsetechnologies.com\/blog\/#organization","name":"AEM Blog | Lhotse Technologies","url":"https:\/\/lhotsetechnologies.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/lhotsetechnologies.com\/blog\/wp-content\/uploads\/2019\/07\/lhotse-logo.png","contentUrl":"https:\/\/lhotsetechnologies.com\/blog\/wp-content\/uploads\/2019\/07\/lhotse-logo.png","width":539,"height":172,"caption":"AEM Blog | Lhotse Technologies"},"image":{"@id":"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/b8eb4eeb9ca844d32b54de183c946afc","name":"Shivam Kumar Chauhan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lhotsetechnologies.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2f5546b9c2e40950ed53a7c2b059fdc37faa2a27d1faa038b2701bba8112e1ad?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2f5546b9c2e40950ed53a7c2b059fdc37faa2a27d1faa038b2701bba8112e1ad?s=96&d=mm&r=g","caption":"Shivam Kumar Chauhan"},"url":"https:\/\/lhotsetechnologies.com\/blog\/author\/shivam\/"}]}},"_links":{"self":[{"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/comments?post=453"}],"version-history":[{"count":2,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/453\/revisions"}],"predecessor-version":[{"id":456,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/453\/revisions\/456"}],"wp:attachment":[{"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/media?parent=453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/categories?post=453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lhotsetechnologies.com\/blog\/wp-json\/wp\/v2\/tags?post=453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}