<< I too was not expecting a lock, so no apologies needed. I guess there are property options on the list view where a cursor is needed, such as multiselect and topitem? >>
I don't think a cursor is strictly needed there. I'm assuming that once the data is loaded, it's all cached inside the windows ListView control, and possibly an internal helper dataset of some kind. At that point you should be able to implement the user interface without further reference to the rows in the database. I've implemented data-aware list views in Delphi myself, and that's the approach that I always use — the control isn't aware of the existence of the table except for the time needed to load the dataset from disk. -- Larry

