Best way to filter an Editable Grid

Hi All, 

What is the recommended way to display A LOT of data in an editable grid? Right now my grid shows over 900 rows of editable data with 6 columns, so it is extremely slow to load and edit. What are my options to make this better? The grid is only for Admins to manage external user data that is called for drop downs in other records. I wanted to avoid totally reworking this into it's own record where each external user in the list is it's own record that you have to click into to edit or create new ones -- this seemed like a more complicated process to me. 

It seems like there is no reasonable way to filter an editable grid like you can with a read-only grid, or even apply paging. Please help! 

Thank you

  Discussion posts and replies are publicly visible

Parents
  • Sarah,

    It is certainly more difficult to page an editable grid, but it is still possible without too much work. An example of a paging editable grid might be as such:

    load(
      local!data: rule!getData(),
      local!pagingInfo: a!pagingInfo(
        startIndex: 1,
        batchSize: 25,
        sortInfo: <your default sort>
      ),
      local!dataSubset: a!todatasubset(local!data, local!pagingInfo),
      {
         a!richTextDisplayField(
            value: {
              a!richTextItem(
                text: "Next Page ->",
                link: a!dynamicLink(
                  saveInto: {
                    a!save(
                      local!data,
                      updatearray(
                        local!data,
                        enumerate(
                          count(local!dataSubset.data)
                        ) + 1,
                        local!dataSubset.data
                      )
                    ),
                    a!save(
                      local!pagingInfo,
                      a!pagingInfo(
                        startIndex: local!pagingInfo.startIndex + local!pagingInfo.batchSize,
                        batchSize: local!pagingInfo.batchSize,
                        sort: local!pagingInfo.sort
                      )
                    ),
                    a!save(
                      local!dataSubset,
                      todatasubset(local!data, local!pagingInfo)
                    )
                  }
                )
              )
           }
         ),
       rule!yourGrid(
         data: local!dataSubset.data
       )
      }
    )

    There would definitely be a lot more to it that I've shown above (back button, adding filtering, sorting, etc.), but that should hopefully give you enough to go off of if you choose to go this route. It would definitely go a long way towards improving the page's rendering time and performance.

    Thanks,

    Nino

  • A Score Level 1
    in reply to gianninol
    What changes would be required for back button ?
Reply Children