在网格控件中显示许多记录时,如何将合计显示在网格最后行,滚动点击后,也在当前界面

解决方案 »

  1.   

    请你使用TrueGrid控件!!你到网上下栽!!!
      

  2.   

    VB本身的控件好像不行!!
    或者你用两个Grid控件!!应该可以,你调节好位置,鱼目混珠!!哈哈
      

  3.   

    select 編號,數量 from table
    union all
    select '',sum(數量) as 數量 from table
    order by 數量
      

  4.   

    truegrid我用过,可能不精通,该如何设置呢?
      

  5.   

    我的笨办法:
    我在FlexGrid的基础上开发了自己的Grid控件,增加了列宽变化的事件。
    这样就可以用两个Grid,用下面的Grid作为合计行。而且可以让两个Grid保持一致。
    不过我开发控件的目的并不在于此,当时还不知道TureGrid。
      

  6.   

    TRUEDBGRID可以用dao,不适于ado.
    我的做法是用其他控件显示,或者放在第一行合计
      

  7.   

    by_stephen(大白菜),能够将发送一份代码过来吗?谢谢
    [email protected]
      

  8.   

    对不起,这是公司的项目,不能发给你。
    但是,如果你不需要调整列宽,可以直接用两个Grid来完成。
      

  9.   

    哦,当然需要调整列宽了,给email一下,谢谢! by_stephen(大白菜)
      

  10.   

    真的不行,这是我们必须遵守的。
    思路是:截取在Grid列头上的鼠标按下放开事件。在事件触发时改变合计Grid的列宽。
    用(WindowProc)过程替换窗口系统函数,将原函数入口保存在glpPrevWindowProc中,
    在WindowProc过程中调用CallWindowProc,判断鼠标位置是否在Grid列头上,然后触发事件。其实有点复杂。建议你还是看看TureGrid。
      

  11.   

    用msflexgrid就可以实现,有个问题要注意的是,滚动条不要用控件自带,而是自己写个滚动
    条。
    合计的行由计算生成,显示的方法,两个
    1、用msflexgrid的行显示,在滚动条的事件中,交换处于底部的行与统计行
    2、另外用一个msflexgrid来显示,这个最简单。