Looking for solution on editable grid performance

Hi Everyone,

I have an editable grid with 200 rows and in line validations and calculations on each field, we will also calculating the Totals of each column in the last row of the grid.

What is the best way to implement this? 

Few solutions are:

  • Dividing the grid into multiple parts i.e 20 rows in each grid (Even though performance is better page will take lot of time to load)
  • Diving the grid into multiple tabs 20 rows in each tab(using rich text fields).This may not be better user experience , user have to go through each tab and check for validations.
  • We can add paging by manipulating data in CDT  and using rich text fields. This may not be better using experience, if there is error in last rows user have to click on next 10 times.

 

Please suggest any approaches  which can make performance better.

Note:as per our use case Inline validations is mandatory, cannot validate on click of button.

 

Thanks in Advance

  Discussion posts and replies are publicly visible

  • Karthik - There are several different ways to solve this issue. Firstly, for the calculations on the bottom row - do these need to be dynamic anytime something is updated? If it's a 200 row grid, it's unlikely that the user is scrolling to the bottom every time. Instead, you could have a button or link that when selected calculates the sums. Secondly, what types of inline validations are you doing? Your second option could work - you could display an indicator next to the tab links (or make them red) when an error is evaluated in that section (by creating a validation framework outside of Appian standard. You could also do it through a milestone field with links to each step of the entry process. For your last option, of adding paging, you could theoretically add an option to page to the last page etc. so the user wouldn't have to click next 10 times.
  • 0
    Certified Lead Developer
    Hi as per my understanding, you can opt for option no. 3 mention by you, i.e. represent the data in the form of batching and make the use of customised pagingInfo as we do not have pagingInfo available OOTB for an editable grid which you already have mention.

    Now answering to your problem statement, you can define 4 richtextdisplayfield ( < , <<, >, >>) where 2 for moving to next or previous batch, and 2 for moving to first or last batch, in this way user can avoid clicking on next link for several times in order to reach till last set of data. And this is achievable. You just need to play around pagingInfo, start index and batch size

    Hope this will help you.
  • Hi Karthik. Considering that you are planning to use editable grids of 200 rows, there are couple of questions that you need to answer yourself. Will the end user edits any row in 200 rows of your grid anytime? If so, does he needs to scroll down or click multiple times on the pagination, say if they require to update row 160 of 200?
    Since the performance of the interface degrades, as you go beyond 10 rows in a grid, I suggest you to display only the first 10 rows in a paging grid with selection option. Keep a search text field for the user to search and display only those relevant in the grid. Allow the user to select a specific row in a grid which he wants to edit and may b in a new section allow the details to be editable. Once he submits the details, you can update the totals at the end of the grid. I do not say its a best option, but may b u can give a thought abt this.
  • Hi Ashvin, Thank you very much for your response.
    Yes the calculations needs to be dynamic. For 200 rows grids we are thinking to display the calculations at top. We have many grids they are less than 50 rows which we are displaying at bottom.
    My inline validation will be checking for sum of first 2 rows should be equal to sum of few other rows, total of the column should be equal to 200,data type validations etc.
    To display a red indicator i need to evaluate the validation rules again. is there any work around where i can find whether the grid contains errors or not?
  • Hi Alok,
    Thank you very much for your response.

    Will consider this as one of the solution. Our main concern is about performance. If you can suggest any idea other than above mentioned idea that would be really helpful to us.
  • 0
    Certified Lead Developer
    Karthik, for calculating the values of columns use a separate paging grid, then the user no need to scroll down to the last of the grid it's a best way to implement this