<?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>Editable Grid - Update Rule Input on Data Change</title><link>https://community.appian.com/discussions/f/user-interface/21244/editable-grid---update-rule-input-on-data-change</link><description>Hi, 
 i&amp;#39;m trying in an editable data grid to &amp;quot;intercept&amp;quot; o simulate the &amp;quot;on data change&amp;quot; event. 
 i want to return a rule input value to the parent interface that called the actual interface (with an a!save of the input passed) when data in the datagrid</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Editable Grid - Update Rule Input on Data Change</title><link>https://community.appian.com/thread/82830?ContentTypeID=1</link><pubDate>Mon, 21 Jun 2021 21:20:22 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:806d44e7-e5f2-4f93-a7fa-cfa6ae7184df</guid><dc:creator>Mike Schmitt</dc:creator><description>[quote userid="54748" url="~/discussions/f/user-interface/21244/editable-grid---update-rule-input-on-data-change/82826#82826"]i generally can do that but there isn&amp;#39;t a &amp;quot;data change event&amp;quot; in the &amp;quot;editable data grid&amp;quot;[/quote]
&lt;p&gt;Also can you clarify - are you not actually going to be using the editable functionality in your editable grid?&amp;nbsp; i.e. all your fields will be read-only?&amp;nbsp; If so I&amp;#39;d recommend you consider using the Paging (aka Read-only) grid instead...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Editable Grid - Update Rule Input on Data Change</title><link>https://community.appian.com/thread/82829?ContentTypeID=1</link><pubDate>Mon, 21 Jun 2021 21:11:19 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:51e1c88c-06a2-435e-ac26-6f7a16a514b8</guid><dc:creator>Mike Schmitt</dc:creator><description>&lt;p&gt;In this sort of scenario it&amp;#39;s probably better to set the data in the parent interface and pass it down to the child interface if needed, and if your intent is to force the data into a Rule Input to be passed into the process, you can always do your a!save within the Submit button.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Editable Grid - Update Rule Input on Data Change</title><link>https://community.appian.com/thread/82828?ContentTypeID=1</link><pubDate>Mon, 21 Jun 2021 21:10:54 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:499a67e2-069a-493e-90db-f6588e826f76</guid><dc:creator>Chris</dc:creator><description>&lt;p&gt;Also to note that as our editable grids do not have something such as an onChange() parameter, such as C# grid views, you will accomplish this by executing a!save()&amp;#39;s within the saveInto parameters of each component - your addRowLink&amp;#39;s dynamicLink, and within each component/column in the grid.&amp;nbsp; Such as:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="csharp"&gt;a!localVariables(
  local!dataChanged: false,
  local!dataDefault: {data1: null, data2: null, data3: null},
  local!data: {
    local!dataDefault
  },
  a!formLayout(
    label: &amp;quot;On Change Test&amp;quot;,
    contents: {
      a!richTextDisplayField(
        value: {
          a!richTextItem(
            showWhen: not(local!dataChanged),
            text: &amp;quot;Data has not been changed&amp;quot;,
            color: &amp;quot;NEGATIVE&amp;quot;
          ),
          a!richTextItem(
            showWhen: local!dataChanged,
            text: &amp;quot;Data has been changed&amp;quot;,
            color: &amp;quot;POSITIVE&amp;quot;
          )
        }
      ),
      a!gridLayout(
        headerCells: a!forEach(
          items: 1+enumerate(4),
          expression: a!gridLayoutHeaderCell(label: if(fv!isLast,&amp;quot;Remove&amp;quot;,concat(&amp;quot;Column &amp;quot;,fv!item)))
        ),
        columnConfigs:  a!forEach(
          items: 1+enumerate(4),
          expression: a!gridLayoutColumnConfig(width: if(fv!isLast,&amp;quot;ICON&amp;quot;,&amp;quot;DISTRIBUTE&amp;quot;))
        ),
        rows: a!forEach(
          items: local!data,
          expression: a!gridRowLayout(
            id: fv!index,
            contents: {
              a!textField(
                value: fv!item.data1,
                saveInto: {
                  a!save(local!data[fv!index].data1,save!value),
                  a!save(local!dataChanged,true) /* flag dataChanged value */
                }
              ),
              a!textField(
                value: fv!item.data2,
                saveInto: {
                  a!save(local!data[fv!index].data2,save!value),
                  a!save(local!dataChanged,true) /* flag dataChanged value */
                }
              ),
              a!textField(
                value: fv!item.data3,
                saveInto: {
                  a!save(local!data[fv!index].data3,save!value),
                  a!save(local!dataChanged,true) /* flag dataChanged value */
                }
              ),
              a!imageField(
                images: a!documentImage(
                  document: a!iconIndicator(&amp;quot;REMOVE&amp;quot;),
                  link: a!dynamicLink(
                    value: fv!index,
                    saveInto: {
                      a!save(local!data, remove(local!data, save!value)),
                      a!save(local!dataChanged,true) /* flag dataChanged value */
                    }
                  )
                ),
                size: &amp;quot;ICON&amp;quot;
              )
            }
          )
        ),
        addRowLink: a!dynamicLink(
          label: &amp;quot;Add a Row&amp;quot;,
          saveInto: {
            a!save(local!data,append(local!data,local!dataDefault)),
            a!save(local!dataChanged,true) /* flag dataChanged value */
          }
        )
      )
    }
  )
)&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Editable Grid - Update Rule Input on Data Change</title><link>https://community.appian.com/thread/82826?ContentTypeID=1</link><pubDate>Mon, 21 Jun 2021 21:03:02 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:52146ac2-0470-4968-9c2c-e9d66043d46c</guid><dc:creator>Carmine Mele</dc:creator><description>&lt;p&gt;i generally can do that but there isn&amp;#39;t a &amp;quot;data change event&amp;quot; in the &amp;quot;editable data grid&amp;quot;. So where i can save the value of the ri|parameter on grid data change?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Editable Grid - Update Rule Input on Data Change</title><link>https://community.appian.com/thread/82820?ContentTypeID=1</link><pubDate>Mon, 21 Jun 2021 17:14:23 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b3898982-631e-4e9b-a27a-0a06cf930c43</guid><dc:creator>Mike Schmitt</dc:creator><description>[quote userid="54748" url="~/discussions/f/user-interface/21244/editable-grid---update-rule-input-on-data-change"]The problem is that i cant do an &amp;quot;a!save&amp;quot; of the ri! paramenter [/quote]
&lt;p&gt;Why not?&amp;nbsp; What is happening when you try?&amp;nbsp; Can you post some sample code?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>