<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.appian.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Dropdown field configuration</title><link>https://community.appian.com/discussions/f/user-interface/20942/dropdown-field-configuration</link><description>Hi Experts, 
 
 I have a requirement where I need to configure gridLayout in such a way that I can add rows maximum to number of data I have in a local variable, i.e if value in localVariable is {&amp;quot;ABC&amp;quot;,&amp;quot;DEF&amp;quot;,&amp;quot;GHI&amp;quot;,&amp;quot;JKL&amp;quot;} the only 4 row can be added at</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Dropdown field configuration</title><link>https://community.appian.com/thread/81633?ContentTypeID=1</link><pubDate>Thu, 13 May 2021 18:15:13 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:3bac2e75-863a-455f-94de-79f643343e0c</guid><dc:creator>Chris</dc:creator><description>&lt;p&gt;Hi Paul, welcome aboard!&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To note, there is a wealth of &lt;a href="https://docs.appian.com/suite/help/21.1/"&gt;excellent documentation available&lt;/a&gt; including samples, best practices, component functionality, available functions, etc.&amp;nbsp; If you haven&amp;#39;t become familiar yet, I would definitely recommend doing so!&amp;nbsp; My favorite area is the &lt;a href="https://docs.appian.com/suite/help/21.1/SAIL_Recipes.html"&gt;Interface Patterns&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In regards to the situation in this thread, you can certainly populate List B based on a call to the database via a!queryEntity(), relative to the selection in List A.&amp;nbsp; I have a number of applications which use that type of setup.&amp;nbsp; There are also some cases, depending on data sets, where you may pre-set List B options from the DB into a local variable on form load, then pull specific values from the local var for List B depending on List A (better for performance, in &lt;em&gt;some&lt;/em&gt; situations).&lt;/p&gt;
&lt;p&gt;For&amp;nbsp;changes in your thought process, I can&amp;#39;t really see anything major that would be &amp;#39;trash&amp;#39; per say as far as logical application design goes - except maybe thinking you still have to build everything from scratch &lt;span class="emoticon" data-url="https://community.appian.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Build a few small processes, become familiar with the components and functions, keep tabs on the forum and documentation and you&amp;#39;ll be good to go!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Dropdown field configuration</title><link>https://community.appian.com/thread/81628?ContentTypeID=1</link><pubDate>Thu, 13 May 2021 17:41:31 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:cb3f8987-d40e-4de0-8174-f75072b4b9e2</guid><dc:creator>paulp0005</dc:creator><description>&lt;p&gt;Hello Chris (and anyone else who would like to comment),&lt;/p&gt;
&lt;p&gt;I am working with a trial version of Appian and so far really like the product and the community.&lt;/p&gt;
&lt;p&gt;First, I would like to say this is a really great and active community.&amp;nbsp; It makes you want to be part of it.&lt;/p&gt;
&lt;p&gt;Regarding this particular issue and coming from a Windows Client application mentality, I would generally populate List B based on an SQL call using arguments from List A.&lt;/p&gt;
&lt;p&gt;So I am wondering how different is the paradigm in THINKING about the architecture?&amp;nbsp; What should I be throwing into the trash heap with a new way of approaching business process oriented applications?&amp;nbsp; What should I embrace?&amp;nbsp; What fundamental changes in thinking are suggested in order to succeed?&lt;/p&gt;
&lt;p&gt;Thanks in advance for your thoughts!!&lt;/p&gt;
&lt;p&gt;Paul&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Dropdown field configuration</title><link>https://community.appian.com/thread/81612?ContentTypeID=1</link><pubDate>Thu, 13 May 2021 14:26:13 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:f61c5cf3-c242-49ad-82a6-1427a44ad7e6</guid><dc:creator>Chris</dc:creator><description>&lt;p&gt;Great! :)&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Dropdown field configuration</title><link>https://community.appian.com/thread/81598?ContentTypeID=1</link><pubDate>Thu, 13 May 2021 07:04:03 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:2947e98a-45e8-4afb-8f7c-2ed45de87884</guid><dc:creator>GauravSingh</dc:creator><description>&lt;p&gt;Thanks Chris&lt;/p&gt;
&lt;p&gt;This has helped me &lt;span class="emoticon" data-url="https://community.appian.com/cfs-file/__key/system/emoji/1f642.svg" title="Slight smile"&gt;&amp;#x1f642;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Dropdown field configuration</title><link>https://community.appian.com/thread/81581?ContentTypeID=1</link><pubDate>Wed, 12 May 2021 17:17:23 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:5aa9a4c6-3797-4e3b-8ea1-22de25a3aaea</guid><dc:creator>Chris</dc:creator><description>&lt;p&gt;Hi, here&amp;#39;s a sample grid to get us going.&amp;nbsp; This should satisfy your requirements, with the exception of modifying the second column to handle whatever you need for the that dropdown for&amp;nbsp;&lt;span&gt;local!rows[fv!index].col2&lt;/span&gt;&amp;nbsp;based on local!rows[fv!index].col1.&amp;nbsp; This allows a maximum of rows added to match the options list, and removes values from the dropdowns as they are selected in other rows.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;a!localVariables(
  local!options: {&amp;quot;ABC&amp;quot;,&amp;quot;DEF&amp;quot;,&amp;quot;GHI&amp;quot;,&amp;quot;JKL&amp;quot;},
  local!rows,
  
  a!gridLayout(
    headerCells: {
      a!gridLayoutHeaderCell(label: &amp;quot;Column 1&amp;quot;),
      a!gridLayoutHeaderCell(label: &amp;quot;Column 2&amp;quot;),
    },
    rows: {
      a!forEach(
        items: local!rows,
        expression: a!gridRowLayout(
          id: fv!index,
          contents: {
            a!localVariables(
              local!ddlOptions: reject(
                fn!isnull,
                append(
                  difference(
                    local!options,
                    a!forEach(
                      items: local!rows.col1,
                      expression: tostring(fv!item)
                    )
                  ),
                  local!rows[fv!index].col1
                )
              ),
              a!dropdownField(
                placeholder: &amp;quot;-- Select --&amp;quot;,
                choiceLabels: local!ddlOptions,
                choiceValues: local!ddlOptions,
                value: fv!item.col1,
                saveInto: local!rows[fv!index].col1
              )
            ),
            a!textField(
              readOnly: true,
              value: fv!item.col1
            )
          }
        )
      )
    },
    addRowLink: a!dynamicLink(
      showWhen: count(local!rows)&amp;lt;count(local!options),
      label: &amp;quot;Add a Row&amp;quot;,
      saveInto: a!save(local!rows,append(local!rows,{col1: null, col2: null}))
    )
  )
)&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>