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]

Reply via email to