>Yep! You are absolutely right. Cursors are one of the most powerful features of foxpro. Having come from C through Clipper to foxpro, I probably use arrays about like you use cursors -- for anything I can. My difficulty with cursors as a grid source is that it is not that easy to update the underlying table through a cursor -- or maybe I have just not spent enough time on deriving a general solution. I probably should since I am certainly not getting the full benefit of this powerful feature.
You can do that even in FPD - just add an additional field to keep the source table's recno() in the cursor, do whatever you want with the cursor, and then scan for updated records, GO to the original field in the source table and mirror the changes. Views are using primary keys instead (recno() is not a good habit in C/S environment) and largely automate this process, much to the same effect.
>But...
>my base position is that VFP ought to provide a more direct means of controlling display of grids -- one that does not require the programmer to manipulate the underlying record source to achieve the desired grid display. Having said that, the caveat is that grid displays are so far down my wish list that they're growing mushrooms in the cellar.
Grid needs lots of things. I mostly miss an array of visible rows, for one, then positioning the current record at the top at will (could do with .doscroll() if I knew exact count of visible rows), defining some other control classes as default classes for grid.addcolumn()... to name a few.