I created a complex hierarchical data source following the instructions in the FAQ article "subclassing a WinDataSource to reportsent a business class. This made using the grids in the designer much easier, - I could set almost everything visually instead of using raw code. This has worked quite nicely, except in the situation I now have, on a very complex tabbed form.
The data source has three levels, with several lists at level 2. The top level is shown on one grid (which acts as the master selection control), and the other lists at level 2 are in individual grids to make it obvious to the user what data they are manipulating. A final grid starts with a L2 source, but has two levels itself. This latter one is the problem - as soon as I added this control, every compile causes Visual Studio to pause for increasing periods of time. Finally, every compile seems to make it endlessly loop - and simply editing single items in the designer on this form can cause the same problem.
I assume there is a problem with the data source being recompiled each time - causing the controls on the design screen to refresh their generated code, and somehow this is looping - but why did it work before, and only fail when the last grid was placed?
Is there some way of telling the grids that the data source has NOT changed - or somethig to manually intervene here - or is it simply a bug?
I just upgraded to 2008.3...
The visual layout i have is essential because the user needs to visualise quite a complex set of relationships, and placing them on nested dialogs would be very inelegant - and much harder to use.
Hi,
I'm not aware of any problems resulting from binding multiple grids to the same data source. There certainly should not be any limitations in that regard.
If you are experiencing slowdowns at design-time with bound grids, my first guess would have been that your data source is somehow recursive. This can cause a problem because of the creation of 100 levels of BindingManagers. But it doesn't sound like your data is recursive, since you say it only has 3 bands.
After one refactorisation of code, and various experiments, it seems that its simply related to the number of grids on the one for that link to a common (hierarchical) datasource. I could understand if this was a slowdown at runtime (thats explained on these forums - it WASN'T slow at runtime anyway) - but for it to do this at design time, to the extent of requiring cistual studio be aborted is a bit much...
I have working code now - but at the expense of using several data sources when one should have done the trick. It would help is someone would confirm if its a known problem or not...