TOPIC: Browse Control
Browse Control 4 Years, 6 Months ago
Hi Andrew Again :

Reading the user guide I know we can't use this control to display lots of records because it loads them on memory; Can I use the ListViewControl Control to display really huge queries (aprox:1000-3000)?

I don't know if there a Control like the Browse on VisualFoxPro that can display thousands of records probably using some kind of internal pagination/buffers schema.

Re:Browse Control 4 Years, 6 Months ago
Yes, ListViewControl can be used for big queries - this is what QueryView uses.

We should have a version of Browse that allows large queries. Should not be too hard - but no one has written it yet :(
Re:Browse Control 4 Years, 6 Months ago
Tks Andrew for your answers.

An additional Question :

When I Use ListViewControl for example to select an Item from a 1000 list; Does it mean that the Control gets all the 1000 items to memory or it only gets the necesary records to show on list (some kind of pagination).

Probably if local it doesn't matter a lot but if I do client-server will it implicate that the thousand items records will travel through the LAN?

I would like to know if I can use the ListViewControl so the user can select the item or I would need to build myself a more sophisticated search control (with some kind of pagination)

Re:Browse Control 4 Years, 6 Months ago
ListViewControl on a query should only read the records that are actually displayed. There is also some caching.

KeyControl uses ListViewControl for the pull down list of values so for large tables the whole table is not read into memory.
Re:Browse Control 4 Years, 6 Months ago
Perhaps Andrew was hinting at me with writing a Browse that doesn’t read in the complete table.
One has to realize that such a Browse has some limitations: for instance you cannot select just any column/field to sort on, only those that are keys. Also the Browse wouldn’t always be able to tell the position of a record relative to end/start of the keyrange, so the scrollbar can neither.

Some time ago I started off writing an alternative Access. It is not the Browse you mean, but maybe it will do. It has a sort of Browse of one field/key and only the record shown in the Form and the number of keys displayed in the list are read. Though Suneido sends in Client-server mode the complete record over the network when it’s only partially requested, it is still only the number of records that are shown in the keylist.
I just recently picked it up again and it still needs work, reorganizing the buttons, redefining dynamicTypes and more. Expect to finish it soon.
Attached a screenshot and the source.

File Attachment:
File Name:
File Size: 12278

Post edited by: joshua, at: 2006/02/04 17:18
Re:Browse Control 4 Years, 6 Months ago
Sorry Jos, I did not mean that you should do it.

In theory it shouldn't be that hard (within limitations) - we'd just have to change ListControl to request records from some sort of data provider. If we made the interface similar we could probably use ListViewModel. We'd also have to change the way records are saved. Currently, the changes are all kept in memory until you exit. If you're not keeping all the records in memory you'd probably want to save changes as soon as you "left" a record (similar to Access).

I am looking forward to Jos's new version of Access - the preliminary versions I have seen are pretty neat. I think people will like it.