<?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>To edit on multiple rows along with functionality</title><link>https://community.appian.com/discussions/f/general/38077/to-edit-on-multiple-rows-along-with-functionality</link><description>Hi team, 
 I have requirement such that user can edit single rows and multiple rows as well and while using pm I&amp;#39;m able to edit single and multiple rows as well but there is another requirement such that while editing user can only edit 2 columns name</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: To edit on multiple rows along with functionality</title><link>https://community.appian.com/thread/143348?ContentTypeID=1</link><pubDate>Tue, 03 Dec 2024 21:54:00 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:8af0b771-ef9b-465b-815c-671fcc11cb35</guid><dc:creator>Mike Schmitt</dc:creator><description>&lt;p&gt;Luckily the construct I supplied you above should be able to be adapted to any newly-added requirements as far as I can tell.&amp;nbsp; You merely need to include version, etc, in the logic that considers what rows are a &amp;quot;match&amp;quot; or not.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: To edit on multiple rows along with functionality</title><link>https://community.appian.com/thread/143347?ContentTypeID=1</link><pubDate>Tue, 03 Dec 2024 20:30:44 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:f21cbf04-a3a0-4607-9998-8cfc7aec19be</guid><dc:creator>appian.user</dc:creator><description>&lt;p&gt;thankyou mike for this approach but it will only work when I have to show all the data in one grid but in my case&lt;/p&gt;
&lt;p&gt;I&amp;#39;m showing data only according to version numbers -&lt;/p&gt;
&lt;p&gt;for example : in version 1 , 2 rows of data can be displayed,&lt;/p&gt;
&lt;p&gt;in version 2, 1 row of data can be displayed and&lt;/p&gt;
&lt;p&gt;in version 3, 4 rows of data can be displayed&amp;nbsp; (for reference I have attached the screenshot)&lt;/p&gt;
&lt;p&gt;but user needs to make sure functionality to autoupdate electrical tilt works for all datas of grid in respect of any version numbers but only when version status should not be &amp;quot;PAST&amp;quot;&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration:underline;"&gt;&lt;strong&gt;FYI: my edtitng is working fine through process model for multiple rows only functionality needs to implement&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;see here data acc to version nos.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;version no: 6&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/11/pastedimage1733257127170v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;version no : 7&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/11/pastedimage1733257200006v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;version 8:&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/11/pastedimage1733257242447v3.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;here if user edits electrical tilt in version no 7 on both rows ( as 3 and 4) and if combination of &amp;quot;Shared Antenna&amp;quot; &amp;quot;Transmitter&amp;quot; &amp;quot;Antenna PAFX&amp;quot; is exactly same&amp;nbsp;of version 7 1st row in version 6 1st row and of version 7 2nd row in version 8 2nd row then electrical tilt auto updates as 3 in version 6 1st row and 4 in version 8 2nd row.&lt;/p&gt;
&lt;p&gt;and if there is version 9 having same combination of those 3 column but version status is &amp;quot;PAST&amp;quot;&amp;nbsp;then electrical tilt wont auto update in version 9 and remains whatever is already there&lt;/p&gt;
&lt;p&gt;I hope you understand this now&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: To edit on multiple rows along with functionality</title><link>https://community.appian.com/thread/143343?ContentTypeID=1</link><pubDate>Tue, 03 Dec 2024 17:56:39 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:799dc82a-0483-4b85-9073-da0031503341</guid><dc:creator>Mathieu Drouin</dc:creator><description>&lt;p&gt;Here&amp;#39;s another a another variation using update/index/wherecontains.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;a!localVariables(
  local!values: {
    a!map(
      site: 1,
      antenna: &amp;quot;abc&amp;quot;,
      trx: &amp;quot;123&amp;quot;,
      tilt: null()
    ),
    a!map(
      site: 2,
      antenna: &amp;quot;xyz&amp;quot;,
      trx: &amp;quot;543&amp;quot;,
      tilt: null()
    ),
    a!map(
      site: 3,
      antenna: &amp;quot;abc&amp;quot;,
      trx: &amp;quot;123&amp;quot;,
      tilt: null()
    ),
    a!map(
      site: 4,
      antenna: &amp;quot;qwer&amp;quot;,
      trx: &amp;quot;3.14&amp;quot;,
      tilt: null()
    ),
    a!map(
      site: 5,
      antenna: &amp;quot;abc&amp;quot;,
      trx: &amp;quot;123&amp;quot;,
      tilt: null()
    ),
    a!map(
      site: 6,
      antenna: &amp;quot;zxcv&amp;quot;,
      trx: &amp;quot;42&amp;quot;,
      tilt: null()
    )
  },
  local!valuesWithIndex: a!refreshVariable(
    value: a!forEach(
      items: local!values,
      expression: a!update(
        fv!item,
        &amp;quot;concatenatedIndex&amp;quot;,
        concat(
          fv!item.antenna,
          fv!item.trx,
          fv!item.antennaPAFX
        )
      )
    ),
    refreshOnReferencedVarChange: true
  ),
  a!gridLayout(
    headerCells: {
      a!gridLayoutHeaderCell(label: &amp;quot;Antenna&amp;quot;),
      a!gridLayoutHeaderCell(label: &amp;quot;Transmitter&amp;quot;),
      a!gridLayoutHeaderCell(label: &amp;quot;Tilt&amp;quot;)
    },
    rows: a!forEach(
      items: local!values,
      expression: a!gridRowLayout(
        contents: {
          a!textField(value: fv!item.antenna, readOnly: true),
          a!textField(value: fv!item.trx, readOnly: true),
          a!integerField(
            value: fv!item.tilt,
            saveInto: {
              fv!item.tilt,
              a!localVariables(
                local!itemIndexes: wherecontains(
                  concat(fv!item.antenna, fv!item.trx),
                  local!valuesWithIndex.concatenatedIndex
                ),
                local!items: index(
                  local!valuesWithIndex,
                  local!itemIndexes
                ),
                {
                  a!save(
                    local!values,
                    a!update(
                      local!values,
                      local!itemIndexes,
                      a!update(local!items, { &amp;quot;tilt&amp;quot; }, { fv!item.tilt })
                    )
                  )
                }
              )
            }
          )
        }
      )
    )
  )
)&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: To edit on multiple rows along with functionality</title><link>https://community.appian.com/thread/143336?ContentTypeID=1</link><pubDate>Tue, 03 Dec 2024 15:47:06 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:4afcdd30-47e4-4927-825a-07d7cbd22a0d</guid><dc:creator>Mike Schmitt</dc:creator><description>&lt;p&gt;I whipped up this simplified example - in this case only &amp;quot;antenna&amp;quot; and &amp;quot;transmitter&amp;quot; need to match for any given row to be considered a &amp;quot;match&amp;quot;, but that can be easily scaled to as many fields as you want.&amp;nbsp; I use a per-row local variable to track other rows that are currently a match (and an optional debug display of these to appear in the &amp;quot;site id&amp;quot; column when needed), which then determines the behavior of the extra SaveInto found in the &amp;quot;tilt value&amp;quot; save.&amp;nbsp; I assume you should be able to adapt this pattern to the more intricate details of your use case pretty easily.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="java"&gt;a!localVariables(
  
  local!myList: {
    a!map(
      site: 1,
      antenna: &amp;quot;abc&amp;quot;,
      trx: &amp;quot;123&amp;quot;,
      tilt: null()
    ),
    a!map(
      site: 2,
      antenna: &amp;quot;xyz&amp;quot;,
      trx: &amp;quot;543&amp;quot;,
      tilt: null()
    ),
    a!map(
      site: 3,
      antenna: &amp;quot;abc&amp;quot;,
      trx: &amp;quot;123&amp;quot;,
      tilt: null()
    ),
    a!map(
      site: 4,
      antenna: &amp;quot;qwer&amp;quot;,
      trx: &amp;quot;3.14&amp;quot;,
      tilt: null()
    ),
    a!map(
      site: 5,
      antenna: &amp;quot;abc&amp;quot;,
      trx: &amp;quot;123&amp;quot;,
      tilt: null()
    ),
    a!map(
      site: 6,
      antenna: &amp;quot;zxcv&amp;quot;,
      trx: &amp;quot;42&amp;quot;,
      tilt: null()
    ),
  },
  
  a!sectionLayout(
    label: &amp;quot;test grid&amp;quot;,
    contents: {
      a!gridLayout(
        headerCells: {
          a!gridLayoutHeaderCell(label: &amp;quot;site&amp;quot;),
          a!gridLayoutHeaderCell(label: &amp;quot;antenna&amp;quot;),
          a!gridLayoutHeaderCell(label: &amp;quot;transmitter&amp;quot;),
          a!gridLayoutHeaderCell(label: &amp;quot;tilt value&amp;quot;),
        },
        rows: a!forEach(
          local!myList,
          
          a!localVariables(
            local!currentRowRef: fv!item,
            local!matchingRowIndices: a!flatten(a!forEach(
              local!myList,
              if(
                and(
                  local!currentRowRef.site &amp;lt;&amp;gt; fv!item.site,
                  local!currentRowRef.antenna = fv!item.antenna,
                  local!currentRowRef.transmitter = fv!item.transmitter
                ),
                fv!index,
                {}
              )
            )),
            a!gridRowLayout(
              id: fv!item.site,
              contents: {
                a!richTextDisplayField(
                  value: {
                    fv!item.site,
                    
                    a!richTextItem(
                      /* debug info; comment out this &amp;quot;showWhen&amp;quot; temporarily to display it here */
                      showWhen: false(),
                      size: &amp;quot;SMALL&amp;quot;,
                      text: {char(10), &amp;quot;Matching Rows: &amp;quot;, joinarray(local!matchingRowIndices, &amp;quot;, &amp;quot;)}
                    )
                  }
                ),
                a!richTextDisplayField(
                  value: fv!item.antenna
                ),
                a!richTextDisplayField(
                  value: fv!item.trx
                ),
                
                
                
                a!textField(
                  value: fv!item.tilt,
                  saveInto: {
                    fv!item.tilt,
                    if(
                      a!isNotNullOrEmpty(local!matchingRowIndices),
                      a!forEach(
                        local!matchingRowIndices,
                        a!save(
                          local!myList[fv!item].tilt,
                          save!value
                        )
                      ),
                      {}
                    )
                  }
                )
              }
            )
          )
        )
      )
    }
  )
)&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/11/pastedimage1733240821934v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: To edit on multiple rows along with functionality</title><link>https://community.appian.com/thread/143310?ContentTypeID=1</link><pubDate>Tue, 03 Dec 2024 08:06:15 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:26368bdd-04d9-4650-a8b6-d109630ccf1e</guid><dc:creator>appian.user</dc:creator><description>&lt;p&gt;hi mike&lt;/p&gt;
&lt;p&gt;I have already shared you the code but here in this code all the data is coming from a particular table but user can only edit electrical tilt and comment as well since editing is working well but functionality should be made on interface where&amp;nbsp;electrical tilt column is mentioned&lt;/p&gt;
&lt;p&gt;but when user edit electrical tilt then only electrical tilt has to auto update for all that row when the combination of 3 columns (Shared antenna, Transmitter, Antenna PAFX) is exactly same in any row but here are different version status but when status is &amp;quot;PAST&amp;quot; then no changes will be made either combination is same or not&lt;/p&gt;
&lt;p&gt;editing can be done for single and multiple rows and when you will see the code user has to make sure functionality rule is for all version numbers , if there are 1, 2 3, 4, 5 version numbers and when editing is done on 3 version no. then if combination is&amp;nbsp;same&amp;nbsp;on 1, 2 and 4 versions and&amp;nbsp;version no 4 has &amp;quot;PAST&amp;quot;&amp;nbsp;status then electrical tilt will auto update on&amp;nbsp; 1 and 2 version no only&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: To edit on multiple rows along with functionality</title><link>https://community.appian.com/thread/143296?ContentTypeID=1</link><pubDate>Mon, 02 Dec 2024 17:36:00 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:9e7c7cd4-105b-4c25-80e3-896a45ea4662</guid><dc:creator>Mike Schmitt</dc:creator><description>&lt;p&gt;Your phrasing makes it difficult to decipher what you&amp;#39;re actually after here.&amp;nbsp; Try adding some more specifics, along with some examples of when the automatic updating WOULD happen versus when it would NOT be expected to happen.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: To edit on multiple rows along with functionality</title><link>https://community.appian.com/thread/143289?ContentTypeID=1</link><pubDate>Mon, 02 Dec 2024 15:20:39 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:e85bba72-15d5-4936-9819-acf2e70ba847</guid><dc:creator>appian.user</dc:creator><description>&lt;p&gt;thankyou for responding but my requirement doesn&amp;#39;t match with your solution as I dont have to store electrical tilt every time in all those 3 columns but while editing electrial tilt where ever&amp;nbsp;combination of those &amp;nbsp;3 columns&amp;nbsp; match exactly in other row then only electrifcal tilt update in those&amp;nbsp;rows else&amp;nbsp; if either any one column among those 3 columns mismatched electrical tilt would not update for other rows instead update only that row where editing is done&amp;nbsp;&lt;/p&gt;
&lt;p&gt;you getting my point?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: To edit on multiple rows along with functionality</title><link>https://community.appian.com/thread/143279?ContentTypeID=1</link><pubDate>Mon, 02 Dec 2024 12:49:17 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:4fc8a9a3-6b81-4571-b17d-ea9c5ec62051</guid><dc:creator>Mathieu Drouin</dc:creator><description>&lt;p&gt;Something like this?&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;a!localVariables(
  local!values: {
    a!map(
      id: 1,
      sharedAntenna: &amp;quot;value 1&amp;quot;,
      transmitter: &amp;quot;value2&amp;quot;,
      antennaPAFX: &amp;quot;value3&amp;quot;,
      electricalTile: 4
    ),
    a!map(
      id: 2,
      sharedAntenna: &amp;quot;value 1&amp;quot;,
      transmitter: &amp;quot;value2&amp;quot;,
      antennaPAFX: &amp;quot;value3&amp;quot;,
      electricalTile: 4
    ),
    a!map(
      id: 3,
      sharedAntenna: &amp;quot;value 1&amp;quot;,
      transmitter: &amp;quot;value2&amp;quot;,
      antennaPAFX: &amp;quot;value3&amp;quot;,
      electricalTile: 4
    )
  },
  a!gridLayout(
    headerCells: {
      a!gridLayoutHeaderCell(label: &amp;quot;Shared Antenna&amp;quot;),
      a!gridLayoutHeaderCell(label: &amp;quot;Transmitter&amp;quot;),
      a!gridLayoutHeaderCell(label: &amp;quot;Antenna PAFX&amp;quot;),
      a!gridLayoutHeaderCell(label: &amp;quot;Electrical Tilt &amp;quot;)
    },
    rows: a!forEach(
      items: local!values,
      expression: a!gridRowLayout(
        contents: {
          a!textField(
            value: fv!item.sharedAntenna,
            saveInto: {
              fv!item.sharedAntenna,
              if(
                and(
                  fv!item.sharedAntenna = fv!item.transmitter,
                  fv!item.sharedAntenna = fv!item.antennaPAFX
                ),
                a!save(fv!item.electricalTile, 99),
                {}
              )
            }
          ),
          a!textField(
            value: fv!item.transmitter,
            saveInto: {
              fv!item.transmitter,
              if(
                and(
                  fv!item.sharedAntenna = fv!item.transmitter,
                  fv!item.sharedAntenna = fv!item.antennaPAFX
                ),
                a!save(fv!item.electricalTile, 99),
                {}
              )
            }
          ),
          a!textField(
            value: fv!item.antennaPAFX,
            saveInto: {
              fv!item.antennaPAFX,
              if(
                and(
                  fv!item.sharedAntenna = fv!item.transmitter,
                  fv!item.sharedAntenna = fv!item.antennaPAFX
                ),
                a!save(fv!item.electricalTile, 99),
                {}
              )
            }
          ),
          a!integerField(
            value: fv!item.electricalTile,
            saveInto: fv!item.electricalTile
          )
        }
      )
    )
  )
)&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>