First: Concerning the StringGrid I can talk only about Linux/gtk. No experience how it behaves with other widget sets.
Even then it depends on where (what hardware) the widget(set) is running
Just made a test with filtering:
Filtered a subset of 102 rows out of 70.000 in 1.5 seconds. The next filterings are always a little bit faster (why??) : 1.2 seconds.
hmz, that is indeed a bit strange that you are getting different results on the first run. Have you perhaps constructed your filtering in such a way that it is able to cache ?
It is important for sorting/searching/filtering that you disable all visual stuff with
BeginUpdate.
Yes, I am aware. Thanks for the reminder
fwiw: I went for a listview in virtual mode, and am still thinking about whether or not a tree-like approach would be more convenient. I'm really tempted to use a virtual treeview. The loading part is really causing the most delay, either when using a string-grid or something else. Although that isn't an issue when using a virtual listview and accessing the data with sqlite.
Does anyone happen to know if there is a class out there that is able to index csv files in such a way that it is able to present the access to the records/fields virtually and is able to actually access/cache them on demand when required ? afaik that would be the only way that could perhaps be faster then stuffing it into a db first.