我的思路:
    我想在flexgrid上动态创建一个标签(label),标签的大小是不规则的,有可能是一个单元格,有可能是多个单元格,而且高度也不一定是一个单元格的高度,类似于甘特图的一个计划标签的表示。总之,是在现有GRID上面多绘制了几个其他控件。
我的问题:
    当GRID出现滚动条时,滚动条位置变化时,我动态创建的控件还是停留在屏幕固定的位置上,没有跟着滚动条一起移动,我该如何实现才能够将我动态创建的标签与GRID融为一体,而不是漂浮与GRID之上呢?希望我说的够明白,希望有过类似经历或高手能够指点一二。如果可以重新编写表格控件,请指教相关技术和可行办法

解决方案 »

  1.   

    你可以把控件动态添加到gird中呀.
    无论是头,内容或者脚.只要是容器,都可以用 容器.controls.add(要加的控件).来实现.
      

  2.   

    如果跨多个单元格
    你可以把gird的所有数据列放到一个摸版列里.
    这样,你就可以添加了
    至于格式的控制,可以在摸版中加table
      

  3.   

    谢谢,上面的朋友。
    supertbt(软件_小菜) :我的程序是CS的。动态创建控件没有问题,只是动态创建的控件,即使我指定他的parent为grid,他还是浮于grid之上,当grid有滚动条时,拖动滚动条,控件还是在原来的位置,不跟着滚动条改变。
      

  4.   

    问题已经基本解决:
    我在滚动条事件里加入判断,执行动态创建控件位置与滚动位置同步。但是,效果还是不太好,还得写代码控制,最好能有更好的方法。重写flexgrid或重新绘制一个新的grid控件是最好的了。
    请大家继续讨论,周末揭帖
      

  5.   

    一直没有找到关于重写用户控件的例子和书籍,我一直想重写grid,完成一个真正的project控件,不知道如何着手,需要参考什么资料,希望高手指点。
      

  6.   

    看来只有paint最符合你的要求,也最麻烦。
      

  7.   

    zhuyaowei(不再犹豫):可以说说具体的思路马,大家分享一下。我感觉paint时好像能够画线,但好像画控件时不太好实现,我也没有什么思路来做。我的要求是画完控件后我还能够选择这个控件(也就是可以取到它的单击事件,然后做一些处理)
    我以前实现时因为用的底层grid是dev第三方控件组的,不能获取滚动条事件,也就不能实现我上面提供的解决方法。不过我当时把GRID扩大了,外面再套个PANEL,结果一拖动panel的滚动条,功能虽然实现了,但是表格的字段头却也没了,很是郁闷。现在我想把产品重新改写到.net2005上,顺便改进这个功能。希望继续讨论,提供点思路也可以阿。
      

  8.   

    刚才使用powerdesigner做用例时,它会画出一条连接线,而连接线不太可能是现有windows控件,而且也不像是画的线,这是怎么实现的呢,大家有没有什么思路?