I'll address this part:
>I concidered using a cursor to popluate the grid - works but I can only have one index which is a problem (header sorting/etc.)
You can have as many indexes as you want, with the following limitations:
- the cursor needs to be read/write, OR
- if it's readonly, you can still create as many tags as you like, but in a file with a name different from the cursor's name. Check "index on ... tag ...
of {cdxFileName}". Depending on version of VFP, this additional cdx file may or may not vanish once you close the cursor. Also make sure the file gets created on your local drive - you're creating it, you're responsible for its location.