On 11/15/10 2:45 PM, Ed Leafe wrote: > On Nov 15, 2010, at 5:35 PM, Paul McNett wrote: > >> I think it shouldn't be complicated. Can we keep as a separate concept the >> original >> dataset, and start the LIFO stack with the first filtered set? And the >> filtered sets >> only contain pointers to the actual dataset, instead of being full copies. >> So, >> setFieldVal() operates on the dataset, but iterating records goes through >> the filter. > > > I think you're underestimating how much the framework depends on the > concept of the > cursor's dataset.
Could be. > Picture a grid: how would you tell it to get its data from the filtered > dataset instead of through the current DataSource scheme? The grid wouldn't need to know anything. The cursor would return a RowCount that matches the filtered data, and dGrid would be modified slightly to call biz.getFieldVal(filteredRowNum=row) instead of biz.getFieldVal(row=row). > RowCount, RowNumber - these >depend on the dataset. Yes. But RowCount could be made to take into account how many rows are in the current filter. > There is no simple way to do what you're envisioning without a > substantial re-write of the data portion of the framework, and that's simply > not worth it. Ok. > I have code that preserves new records and changed values in a filtered > dataset when >removing the filter. That's working great. Where I'm having problem is when >calling save() >with a change (i.e., a memento entry) in the original dataset that's not in >the current >(filtered) dataset. Should we silently ignore these changes, and only save >those in the >filtered data? Or should we silently save all the records? (the same >questions apply to cancel, too). I think the answer is too dependent on the use case. IOW, it is too complicated. Paul _______________________________________________ Post Messages to: [email protected] Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev Searchable Archives: http://leafe.com/archives/search/dabo-dev This message: http://leafe.com/archives/byMID/[email protected]
