Ed Leafe wrote: > On Oct 12, 2007, at 9:15 AM, Paul McNett wrote: > >>> I then opened up a command window and typed: >>> >>> f, g = dabo.ui.browse(self.PrimaryBizobj) >>> >>> ...to get a non-datanav grid with the exact same data. Navigating >>> through this grid I did not see any flickering at all. Calling f.next >>> () likewise did not show flicker. The key must be in the interaction >>> between the form, bizobj and grid under Windows. >> You were inadvertently avoiding form mediation, because >> PrimaryBizobj is >> a reference to a biz, not a DataSource string. > > But that was my point: passing any object with a getDataSet() method > to browse() gets the dataset and displays it; nothing else is going > on there. I doubt that the one extra step that would happen by > resolving a string DataSouce (two quick 'if' statements and a get()) > would be responsible for visual flickering.
The difference is how dGrid handles each case: if grid.DataSource is an actual bizobj reference, form mediation doesn't happen so form.update() doesn't get called. But if grid.DataSource is a string referring to a grid's DataSource that is registered with the form, then form mediation occurs and form.update() is called. The browse example is actually a third case, I think, since the grid's DataSet property was set instead of DataSource. So, there isn't a bizobj.RowNumber to change. But this case also bypasses form.update(). form.update() is the culprit of the flickering, we've already established that. All I was saying above was that you were getting around the form.update() call by using browse(). -- pkm ~ http://paulmcnett.com _______________________________________________ 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/dabo-dev/[EMAIL PROTECTED]
