On demand loading of additional Grid data

Hi,

I’m more or less trialing the DHTMLX Grid after getting so frustrated with poor documentation from another ‘feature-rich’ data grid. It looks promising but I have a unique use case that I want to see work before committing to the product. I have about 6k rows of Customers and Jobs (JSON) data that’s easy enough to display. It gets returned very quickly so no problems there. In addition, I have Invoice(s) data that needs to be queried to get aging amounts due for each customer and job. Everything is in MSSQL and if I have to do a join of the two tables it increases the time for data retrieval from 1-2 seconds to 50+ seconds (lots of invoices).

I want to have ALL our Customers and Jobs initially loaded (again, just 1-2 seconds to retrieve the data) so people can filter/search. In order to decrease the retrieval times for the Invoice data (again, for aging purposes), I’d like to only retrieve data for the customers (and jobs) on the current page. If my page size is 50 then I’d like to retrieve the Invoice data for just those 50 Customers and/or Jobs on the current page. It seems to me I could do that with a paging event like onPageChanged or something along those lines but suggestions are welcome.

Once I get the data and process it, how do I go about updating data in the grid for just those 50 records since I want to show a (processed/computed) aging number? In addition, I’d like to update a summary group row to show the sum of these newly added (to the grid) aging numbers.

I’ll try to give better examples:
Group Cust XYZ - (4 Jobs) Current-$1,111.11; Over 90 Past Due-$999.99; Total Due-$2,111.00
Job abc Current-$10.00; Over 90 Past Due-$90.00; Total Due-$100.00
Job def Current-$1,101.11; Over 90 Past Due-$909.99; Total Due-$2,011.00

All of the numbers on the right (aging) comes from a different dataset that I would like to retrieve per page (load), to limit access time, then update rows accordingly with this new data.

Thanks for any help and feel free to ask questions if I’ve not been clear enough.

You can load the partial dataset initially and later, when you need to load extra properties for the same data objects you can use something like next

grid.updateFromXML(“some.script.php?range=1,100”)

This command will load data from server side and will replace the existing rows with newly loaded one ( it replaces the rows with the same IDs )

So, each time as page changed, you can call updateFromXML and new data, which includes both the original data and extra data, will replace original rows in a grid.

Above command works with JSON as well ( it was named a few years ago, but now works for all data types )

Also, API of a grid allows to recreate the same process ( data updating ) with custom AJAX calls if it is necessary.