• A thought - you could do caching by a "last updated" table that keeps track of the table and the last time of modification.  That table's timestamp column gets updated by a Insert/Delete/Update Trigger on the table in question.

    Next question - if its a bunch of rows, is there a good way to say "refresh this datatable" instad of

       dt.clear(); da.fill(dt);

    I suppose you could keep an "audit style" table (timestamp deleted/added/modified, recordno, oldrecord), but that's getting a little complicated compared to the above...