ExtJs 3 grid performance issues - performance

I have a grid panel with about one hundred rows.
On grid's store load event a lot of calculations happen that update store rows.
Each update of store row leads to grid row refresh and DOM modifications and this leads to explorer's "Stop running this script?" message.
I'm looking for a way to improve the performance of this code.
Is there any way to suspend DOM operations for the grid in ExtJs 3 - something like suspendLayout, resumeLayout in ExtJs 4?

Related

Inserting data into a Genexus transaction grid

I have a multi-level transaction, so I have set up a free style grid which in turn contains a grid. I would need a button or procedure of some kind within the free style grid that would allow me to code data into the innermost grid.
Note that the problem occurs even with only one level, I cannot insert data "from code" into the grid of a transaction.
I can do this in a normal webpanel thanks to the grid.load event but this is not present in the transaction grids.
Is there a way to solve this problem and "programmatically" enter data into a grid without having to enter it by hand?
I'm working with genexus 16u9 and wwp 13.15, but it is a problem present in all versions

Using an ajax-based FilteringSelect with dgrid

I'm having an issue with a my current dgrid. I have a column which is dijit/Form/FilteringSelect with a Ajax-based store. The store works fine for searching and populating, but, when I open a page with the dgrid store having a couple of rows already I face a problem. Only the last FilteringSelect triggers the edit event and fires the XHR request.
For example, if the Grid store has 4 items, so it will have 4 rows, only the FilteringSelect of the last row will go to the server to get the display value.
I'm a bit lost, any help?

Ag-grid row models: pagination vs virtual paging vs viewport

As title says, I would like to know how to decide which row model to choose and the reason why, depending on how the data change and the number of rows, for example.
Viewport - Use when you need to show realtime data, the server will maintain an open connection to update the grid whenever new data is ready.
Pagination/Virtual Paging - these are both about the same, just depends on what you want for your UI. In both situations you would use them if you have a lot of rows to show, but don't want the user to wait 10 min for the server to respond. Probably works best if you sort/filter on the server side.
Other notes:
In my opinion, if you have pagination, then don't have any scroll. I hate scrolling a table to realize that what I am looking for isn't on that page, then scrolling through another page. The only exception for this is if you have some sorting to your paging, like if the first page was all the A's, or had only from 2000, or just January's data.
Also, Pagination can be used in situations where you don't have a lot of data to request from the server, it could just be a UI preference.

Kendo Grid Gives Multiple Call To remote data when scroll down

Set server paging true for Kendo Data source
Set Page Size 300 for Kendo Datasource
Set Virtual scroll true for kendo grid
Now make sure in grid has 6000+ records
Scroll down grid to middle (such that you want to see 300 record on 50th page)
If you observe in browser, kendo grid data source call to get records for each page still the 50th page arrived.
Yes it will call for every page if you don't move the scroller fast.
Kendo says following about virtualization : If set to true the grid will always display a single page of data. Scrolling would just change the data which is currently displayed.
There is an existing issue with multiple requests during fast scroll.
If you want to limit performance hit and you don't want to always load 300:
make page size smaller - in this case the virtualization is quite likely going to skip some pages. However this relies at the users skill to scroll fast, if they scroll slow all the pages will be loaded.
implement server side paging via pager and avoid virtualization- this will allow you to control what are you getting from the server.

Telerik RadGrid refreshing a single row instead of using Rebind

I am using a RadGrid to display stock information. The data bound is a combination of 2 views and 2 tables. This is quite an intensive query, and the data behind it changes a lot. Now, when I update a value in a single row, I have to Rebind the data to update my grid (I use UpdateValues on the item, but it has no visible effect). This is taking too long to be user-friendly. Is there a simple way to work around it, so I can just update the row which has the changed data ?
I do not think there is a way to do that because the Telerik Grid is data bound control - hence to modify its source and refresh the data in the grid UI, you will need to bind all rows.
Dick

Resources