动态生成的TabSheet上的DBGrid为什么显示不正常? 有谁遇到过?
在Form的OnCreate事件中:
在一个PageControl上动态生成(后面的控件当然也是动态生成的)N个TabSheet, 每个TabSheet放置2个Panel, 其中一个Panel上放置1个DBGrid.
给每个DBGrid都设置了适当的数据源, 并保证已经打开(Query->Avtice = true).
如果TabSheet的数量N = 1, 正常.
问题:
如果TabSheet的数量N > 1, 默认显示的第一页(ActivePageIndex=0), 这时的DBGrid看起来就是数据源没有打开的样子.
如果用鼠标变化一下当前页, 一切都正常了.
如果用代码变化一下当前页(ActivePageIndex=1;ActivePageIndex=0), 一切也都正常了. 现在是用这种方法绕开这个麻烦, 但这样与我的设计有个冲突. 我希望能有正解.
可以肯定第一页的DBGrid的数据源是打开的, 应该是显示的问题. 记得在静态设计使用页框控件时也出现过类似的问题.
调用过Form以及各相关控件的Refresh/Repaint, 无效.
想知道原因以及正确的解决办法.
那位遇到这种情况并解决了?