serverSide rowModelType in Dash AgGrid by using snowflake data

Hi All,

I need to load around 2 millions of data from snowflake to the AG Grid in dash app (python).

Please let me know how to use serverSide rowModelType for the same.

Or please share some sample code if available.


I found some older conversations on this, and it is not built into Dash AG grid currently. There is a manual workaround that involves creating flask endpoints if you search. It seems that the general consensus is to use the infinite row model with large datasets. I, too, would like to leverage some of the features in serverside, such as set filters and select all/none checkboxes.

Hello both,

The infinite row model type is technically serverSide with how we do it. This will cause you to be performing filters and sorting on the server of your choice.

Now, if you want some of the advanced features from AG Grid enterprise with the serverSide rowModel, then you will need to create your own endpoint to handle the request, for some reason the request from the serverSide model doesnt play well with Dash for some unknown reason.

There are at least two examples on the forums that I recall of how to do the second option.

1 Like

Thanks @Bw984 and @jinnyzor for sharing your thoughts and suggestions.

So nutshell we don’t have any options to load the 1 or 2 millions of data in AG grid.

The last option I was thinking to partially pull (in the 50k batch size) the data from snowflake by using db cursor.
And then apply the custom sorting in AG grid to move to next page, and in next page again pull the 50k data and so on. But the problem is that we don’t know the export will work in this case.

Please share your thoughts if anyone implemented in this way, or any other best solution available.


1 Like

Hello @Manpreet,

You can always query the data as needed and use limit and offset along side of pagination and filtering and sorting to get the data that you need. The grid will automatically cache anything that you view, until you sort, filter or refresh the page.

I feel like this would suit your needs, unless you are looking to compile the data to display to a grid or something.