DataGrid: load images when in view
Bob Sneidar
bobsneidar at iotecdigital.com
Fri Nov 8 15:58:28 EST 2019
If he only queries for the data for the visible records. Otherwise the query is going to take as long as it takes to DL all the data.
I was thinking some time ago about developing some paging scripts for the datagrid, using the LIMIT function of SQL, but I never actually had a reason for it. Also it dawned on me that I could not use findRecord or findIndex on a limited range of the data contained in the dgData.
I have a datagrid that loads file data as in saved fillable form PDFs stored in large BLOB columns, and when I got to 15 forms or so, and I was on a slow connection, working with the Forms module took a substantial time to load all the data.
What I did instead is just before making the query I deleted the column containing the form data from the select clause, so I only queried for columns not containing large amounts of form data. I query for the form data only when needed.
Bob S
> On Nov 8, 2019, at 12:25 , Richard Gaskin via use-livecode <use-livecode at lists.runrev.com> wrote:
>
> Dan Friedman wrote:
>
> > Say you have a form DataGrid that is displaying 100 entries. Each
> > entry has an image (loaded from a server) and some text. When you
> > set the dgData, it will get all 100 images as it's building the rows.
> > This is obviously going to take some time to load. Is there a way
> > to have the DataGrid only load the row's image when that row comes
> > into view? This way it will load the images as they are needed.
>
> That's how the DG works, by design, and the main reason for using it over a collection of nested groups.
>
> The DG will only populate rows as they are brought into view. At any given time the number of rendered rows = the number of visible rows.
>
> I once made a media browser that allows access to 2600 images, and the DG handled it like a champ.
>
> --
> Richard Gaskin
> Fourth World Systems
> Software Design and Development for the Desktop, Mobile, and the Web
More information about the use-livecode
mailing list