Hi All, I am using editable grid to display records that are fetched

Hi All,

I am using editable grid to display records that are fetched using webservice.
one of the method returns 4000 records which slows down SAIL interface.
Any idea or workaround to overcome this issue?

OriginalPostID-175417

OriginalPostID-175417

  Discussion posts and replies are publicly visible

  • I think it depends on your specific use case. I had a situation where it could return a lot of rows, so I didn't want the user to have to enter lots of data and suffer loosing it if they forgot to submit etc. So I changed my query to only return first 25 then got the user to complete the first 25 then click save and this then updates the table etc and if all the items have been completed the process ends otherwise it loops back round and then brings the next 25 etc.

    My use case was quite simple and suited this approach and I also let them search for certain records and only update these ones within the grid.
  • Given the quantity of data being returned, I assume users may not always want to edit every row individually. If that's the case, another approach is to return data (again, by page) and display it first in a paging grid from which users can select rows to edit. The user can then edit the selected rows a-handful-at-a-time in an editable grid that would appear after the user opts to edit the selected rows. When the user clicks "Save," the paging grid is updated with the modified rows and the editable grid disappears.

    Alternatively, if it is sensible given the use case, it may improve both performance and user experience to allow bulk editing at some higher level of granularity, rather than for each line item.
  • Thanks Joe and Jamie. I will ask user which way they want us to handle this.
  • i am trying to do it using filter.I have a custom picker field which will filter data and then a filtered data will be shown on editable grid.
    Grid is getting displayed but i cannot change any value as it says "save variable must be in load()". any idea how to handle this?
  • It seems like your filtered data is set as a with() variable (because it is being re-evaluated every time the user interacts with the filter(s)). In order to save that data, you will instead need to make the variable that holds the filtered data a rule input. (Note: although a load() variable would also persist changes, it would not save the changes when the user clicks the OOTB "Save Changes" link).

    The rule input should be re-evaluated in the saveInto of every filter the user might use.