<?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 Pagination</title><link>https://community.appian.com/discussions/f/data/19198/editable-grid-pagination</link><description>Hi All 
 How To Write Pagination In Editable Grid ?Some Example</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Editable Grid Pagination</title><link>https://community.appian.com/thread/87719?ContentTypeID=1</link><pubDate>Fri, 05 Nov 2021 22:09:20 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:aafdd08b-7b47-43be-8276-5451d588b42b</guid><dc:creator>Mohammed Ali</dc:creator><description>&lt;p&gt;The&amp;nbsp;&lt;span&gt;APN_configurablePagingInfo is not working, do you have any other workaround, please?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Editable Grid Pagination</title><link>https://community.appian.com/thread/77557?ContentTypeID=1</link><pubDate>Tue, 03 Nov 2020 05:32:52 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:03e93307-7380-44df-9184-b2319808b026</guid><dc:creator>sureshk</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Yes we can add pagination to Editable Grid using &amp;#39;Configurable Paging Info&amp;#39;, available in AppMarket (&lt;a href="/b/appmarket/posts/configurable-paging-info"&gt;https://community.appian.com/b/appmarket/posts/configurable-paging-info)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here is a sample code which i used&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;load(
  local!items: {
    { item: &amp;quot;Item 1&amp;quot;, qty: 1, unitPrice: 10 },
    { item: &amp;quot;Item 2&amp;quot;, qty: 2, unitPrice: 20 },
    { item: &amp;quot;Item 3&amp;quot;, qty: 3, unitPrice: 30 },
    { item: &amp;quot;Item 4&amp;quot;, qty: 4, unitPrice: 40 },
    { item: &amp;quot;Item 5&amp;quot;, qty: 5, unitPrice: 50 },
    { item: &amp;quot;Item 6&amp;quot;, qty: 6, unitPrice: 60 },
    { item: &amp;quot;Item 7&amp;quot;, qty: 7, unitPrice: 70 },
    { item: &amp;quot;Item 8&amp;quot;, qty: 8, unitPrice: 80 },
    { item: &amp;quot;Item 9&amp;quot;, qty: 9, unitPrice: 90 },
    { item: &amp;quot;Item 10&amp;quot;, qty: 10, unitPrice: 100 },
    { item: &amp;quot;Item 11&amp;quot;, qty: 11, unitPrice: 110 },
    { item: &amp;quot;Item 12&amp;quot;, qty: 12, unitPrice: 120 },
    { item: &amp;quot;Item 13&amp;quot;, qty: 13, unitPrice: 130 },
    { item: &amp;quot;Item 14&amp;quot;, qty: 14, unitPrice: 140 },
    { item: &amp;quot;Item 15&amp;quot;, qty: 15, unitPrice: 150 }
  },
  local!editableGridPagingInfo: a!pagingInfo(startIndex: 1, batchSize: 5),
  a!sectionLayout(
    label: &amp;quot;test&amp;quot;,
    contents: {
      a!gridLayout(
        label: &amp;quot;Grid Layout test&amp;quot;,
        instructions: &amp;quot;This is a grid layout&amp;quot;,
        headerCells: {
          a!gridLayoutHeaderCell(label: &amp;quot;Item&amp;quot;),
          a!gridLayoutHeaderCell(label: &amp;quot;Qty&amp;quot;, align: &amp;quot;RIGHT&amp;quot;),
          a!gridLayoutHeaderCell(label: &amp;quot;Unit Price&amp;quot;, align: &amp;quot;RIGHT&amp;quot;),
          a!gridLayoutHeaderCell(label: &amp;quot;Total&amp;quot;, align: &amp;quot;RIGHT&amp;quot;)
        },
        rows: {
          a!forEach(
            items: todatasubset(
              local!items,
              local!editableGridPagingInfo
            ),
            expression: {
              a!gridRowLayout(
                contents: {
                  a!textField(
                    value: fv!item.item,
                    saveInto: fv!item.item
                  ),
                  a!integerField(
                    value: fv!item.qty,
                    saveInto: fv!item.qty,
                    align: &amp;quot;RIGHT&amp;quot;
                  ),
                  a!floatingPointField(
                    value: fv!item.unitPrice,
                    saveInto: fv!item.unitPrice,
                    align: &amp;quot;RIGHT&amp;quot;
                  ),
                  a!textField(
                    value: dollar(
                      tointeger(fv!item.qty) * todecimal(fv!item.unitPrice)
                    ),
                    readOnly: true,
                    align: &amp;quot;RIGHT&amp;quot;
                  )
                }
              )
            }
          )
        }
      ),
      rule!APN_configurablePagingInfo(
        pagingInfo: local!editableGridPagingInfo,
        totalCount: length(local!items),
        showWhen: true()
      )
    }
  )
)&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Editable Grid Pagination</title><link>https://community.appian.com/thread/75238?ContentTypeID=1</link><pubDate>Tue, 07 Jul 2020 12:42:09 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:6ba46ad4-0905-465c-b2a5-564013fcc1b7</guid><dc:creator>Peter Lewis</dc:creator><description>&lt;p&gt;Again, I&amp;#39;d like to caution you that this may not be the best solution. If you provide more information about what your use case is, we might be able to provide additional options beyond an editable grid with pagination.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Editable Grid Pagination</title><link>https://community.appian.com/thread/75236?ContentTypeID=1</link><pubDate>Tue, 07 Jul 2020 10:48:44 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:95755481-bfa8-406e-99dd-4ce6861c7f41</guid><dc:creator>ramanakumar49</dc:creator><description>&lt;p&gt;Yes Exactly i want to add row as well as and displaying pagination also&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Editable Grid Pagination</title><link>https://community.appian.com/thread/75214?ContentTypeID=1</link><pubDate>Mon, 06 Jul 2020 13:40:47 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:dd097783-ee1f-43fb-9777-f7f0bcea0c60</guid><dc:creator>Mike Schmitt</dc:creator><description>&lt;p&gt;I largely agree with this - generally if a data set is large enough that you&amp;#39;d want to page through it, it&amp;#39;s large enough that you don&amp;#39;t wnat to be forcing users to edit every single row, too.&amp;nbsp; There&amp;#39;s a strong reason that the editable grid component doesn&amp;#39;t have built-in paging.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Editable Grid Pagination</title><link>https://community.appian.com/thread/75212?ContentTypeID=1</link><pubDate>Mon, 06 Jul 2020 13:23:31 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:fa0efbec-b48a-4594-a30e-0abcf9544e47</guid><dc:creator>Peter Lewis</dc:creator><description>&lt;p&gt;The Editable Grid component doesn&amp;#39;t allow paging. I have seen some app developers that have created custom paging using rich text (the example above would work well).&lt;/p&gt;
&lt;p&gt;I&amp;#39;d also recommend thinking about whether having a paging editable grid is the right paradigm anyway. There are some usability concerns with this setup that are difficult to resolve including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How do validations work? Do you validate on pages that are not visible? How do you show the user that they need to fix something on another page?&lt;/li&gt;
&lt;li&gt;Is it possible to add rows to your grid? What happens if the user tries to add a row when you have already reached the maximum batch size?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Although it may seem that paging is important, I&amp;#39;ve actually found that it can be &lt;i&gt;more&lt;/i&gt;&amp;nbsp;confusing to have paging rather than just having a large editable grid.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Editable Grid Pagination</title><link>https://community.appian.com/thread/75205?ContentTypeID=1</link><pubDate>Mon, 06 Jul 2020 11:33:43 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bc81230c-a019-4e5e-8507-e93b09d37d88</guid><dc:creator>gdengrar</dc:creator><description>&lt;p&gt;I also can let you the url of where I&amp;#39;m asking thing of what I&amp;#39;m doing, I have a pagination there 2.&lt;/p&gt;
&lt;p&gt;&lt;a href="/discussions/f/rules/19180/fv-selectedrows-in-a-gridlayout/75139#75139"&gt;https://community.appian.com/discussions/f/rules/19180/fv-selectedrows-in-a-gridlayout/75139#75139&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Editable Grid Pagination</title><link>https://community.appian.com/thread/75204?ContentTypeID=1</link><pubDate>Mon, 06 Jul 2020 11:29:52 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:8a1e1d33-8d12-4091-865d-81e785c3f66c</guid><dc:creator>gdengrar</dc:creator><description>&lt;p&gt;Look it up, in my example there is a pagination winget, you can copy it and adapt to your interface. When you copy the winget it tells you what variables are required, so you look again the example and take them, then you will understand how does the pagination work.&lt;/p&gt;
&lt;p&gt;I have done it a week ago&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Editable Grid Pagination</title><link>https://community.appian.com/thread/75203?ContentTypeID=1</link><pubDate>Mon, 06 Jul 2020 11:03:51 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:a140b4df-156a-447c-8569-7ae9e611bdbf</guid><dc:creator>ramanakumar49</dc:creator><description>&lt;p&gt;no im asking how to implement pagination in editable grid&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Editable Grid Pagination</title><link>https://community.appian.com/thread/75199?ContentTypeID=1</link><pubDate>Mon, 06 Jul 2020 06:33:02 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:aae87d99-543a-4750-b995-52a315509858</guid><dc:creator>gdengrar</dc:creator><description>&lt;p&gt;Its an editable grid (?)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Editable Grid Pagination</title><link>https://community.appian.com/thread/75185?ContentTypeID=1</link><pubDate>Fri, 03 Jul 2020 14:10:30 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:0b503603-3e8f-48cd-9f91-70637c176d91</guid><dc:creator>ramanakumar49</dc:creator><description>&lt;p&gt;hi germand i understand.how to adapt this one to editable grid please example of editable grid if possible&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Editable Grid Pagination</title><link>https://community.appian.com/thread/75182?ContentTypeID=1</link><pubDate>Fri, 03 Jul 2020 10:07:16 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:a10c050a-bb9d-41ef-977f-30f0677da1dc</guid><dc:creator>gdengrar</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You have to create the component of pagination and then adapt it to your case, here&amp;#39;s an example that I used.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;load(
  local!data: {
    {
      id: 1,
      name: &amp;quot;John&amp;quot;,
      value: &amp;quot;your value here!&amp;quot;
    },
    {
      id: 2,
      name: &amp;quot;Mary&amp;quot;,
      value: &amp;quot;your value here!&amp;quot;
    },
    {
      id: 3,
      name: &amp;quot;Ben&amp;quot;,
      value: &amp;quot;your value here!&amp;quot;
    },
    {
      id: 4,
      name: &amp;quot;Ryan&amp;quot;,
      value: &amp;quot;your value here!&amp;quot;
    },
    {
      id: 5,
      name: &amp;quot;Amy&amp;quot;,
      value: &amp;quot;your value here!&amp;quot;
    },
    {
      id: 6,
      name: &amp;quot;Jennifer&amp;quot;,
      value: &amp;quot;your value here!&amp;quot;
    },
    {
      id: 7,
      name: &amp;quot;Joe&amp;quot;,
      value: &amp;quot;your value here!&amp;quot;
    },
    {
      id: 8,
      name: &amp;quot;Melissa&amp;quot;,
      value: &amp;quot;your value here!&amp;quot;
    },
    {
      id: 9,
      name: &amp;quot;Anthony&amp;quot;,
      value: &amp;quot;your value here!&amp;quot;
    }
  },
  local!pagingInfo: a!pagingInfo(
    startIndex: 1,
    batchSize: 3,
    sort: a!sortInfo(
      field: &amp;quot;id&amp;quot;,
      ascending: true
    )
  ),
  with(
    local!datasubset: todatasubset(
      local!data,
      local!pagingInfo
    ),
    local!dataForCurrentPage: local!datasubset.data,
    {
      a!sectionLayout(
        contents: {
          a!boxLayout(
            label: &amp;quot;Sort&amp;quot;,
            contents: {
              a!columnsLayout(
                columns: {
                  a!columnLayout(
                    contents: {
                      a!dropdownField(
                        label: &amp;quot;Field&amp;quot;,
                        choiceLabels: {
                          &amp;quot;ID&amp;quot;,
                          &amp;quot;Name&amp;quot;,
                          &amp;quot;Value&amp;quot;
                        },
                        choiceValues: {
                          &amp;quot;id&amp;quot;,
                          &amp;quot;name&amp;quot;,
                          &amp;quot;value&amp;quot;
                        },
                        value: local!pagingInfo.sort.field,
                        saveInto: {
                          local!pagingInfo.sort.field,
                          a!save(
                            local!pagingInfo.startIndex,
                            1
                          )
                        }
                      )
                    }
                  ),
                  a!columnLayout(
                    contents: {
                      a!radioButtonField(
                        label: &amp;quot;Order&amp;quot;,
                        choiceLabels: {
                          &amp;quot;Ascending&amp;quot;,
                          &amp;quot;Descending&amp;quot;
                        },
                        choiceValues: {
                          true,
                          false
                        },
                        value: local!pagingInfo.sort.ascending,
                        saveInto: {
                          local!pagingInfo.sort.ascending,
                          a!save(
                            local!pagingInfo.startIndex,
                            1
                          )
                        },
                        choiceLayout: &amp;quot;COMPACT&amp;quot;
                      )
                    }
                  )
                }
              )
            }
          )
        }
      ),
      a!sectionLayout(
        contents: {
          a!forEach(
            items: local!dataForCurrentPage,
            expression: a!cardLayout(
              contents: {
                a!columnsLayout(
                  columns: {
                    a!columnLayout(
                      contents: {
                        a!textField(
                          label: &amp;quot;ID&amp;quot;,
                          value: property(
                            fv!item,
                            &amp;quot;id&amp;quot;
                          ),
                          readOnly: true
                        )
                      },
                      width: &amp;quot;NARROW&amp;quot;
                    ),
                    a!columnLayout(
                      contents: {
                        a!textField(
                          label: &amp;quot;Name&amp;quot;,
                          value: property(
                            fv!item,
                            &amp;quot;name&amp;quot;
                          ),
                          readOnly: true
                        )
                      }
                    ),
                    a!columnLayout(
                      contents: {
                        a!textField(
                          label: &amp;quot;Some value&amp;quot;,
                          value: property(
                            fv!item,
                            &amp;quot;value&amp;quot;
                          ),
                          readOnly: true
                        )
                      }
                    )
                  }
                )
              },
              style: &amp;quot;STANDARD&amp;quot;
            )
          )

        }
      ),
      a!sectionLayout(
        contents: {
          a!richTextDisplayField(
            value: {
              a!richTextIcon(
                icon: &amp;quot;chevron-left&amp;quot;,
                link: a!dynamicLink(
                  saveInto: a!save(
                    local!pagingInfo,
                    a!pagingInfo(
                      startIndex: local!pagingInfo.startIndex - local!pagingInfo.batchSize,
                      batchSize: local!pagingInfo.batchSize,
                      sort: local!pagingInfo.sort
                    )
                  ),
                  showWhen: local!pagingInfo.startIndex &amp;gt; 1
                ),
                linkStyle: &amp;quot;STANDALONE&amp;quot;
              ),
              a!richTextItem(
                text: {
                  char(
                    32
                  ),
                  a!richTextItem(
                    text: {
                      joinarray(
                        {
                          property(
                            local!pagingInfo,
                            &amp;quot;startIndex&amp;quot;
                          ),
                          char(
                            45
                          ),
                          property(
                            local!pagingInfo,
                            &amp;quot;startIndex&amp;quot;
                          ) + property(
                            local!pagingInfo,
                            &amp;quot;batchSize&amp;quot;
                          ) - 1
                        },
                        char(
                          32
                        )
                      )
                    },
                    style: &amp;quot;STRONG&amp;quot;
                  ),
                  char(
                    32
                  ),
                  joinarray(
                    {
                      &amp;quot;of&amp;quot;,
                      count(
                        local!data
                      )
                    },
                    char(
                      32
                    )
                  ),
                  char(
                    32
                  )
                }
              ),
              a!richTextIcon(
                icon: &amp;quot;chevron-right&amp;quot;,
                link: a!dynamicLink(
                  saveInto: a!save(
                    local!pagingInfo,
                    a!pagingInfo(
                      startIndex: local!pagingInfo.startIndex + local!pagingInfo.batchSize,
                      batchSize: local!pagingInfo.batchSize,
                      sort: local!pagingInfo.sort
                    )
                  ),
                  showWhen: local!pagingInfo.startIndex &amp;lt; count(
                    local!data
                  ) - local!pagingInfo.batchSize
                ),
                linkStyle: &amp;quot;STANDALONE&amp;quot;
              )
            },
            align: &amp;quot;RIGHT&amp;quot;
          )
        }
      )
    }
  )
)&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>