今天在网上查了很长时间,发现没有资料能解决DBGRID表格的合并问题.(包括三方控件)都说只能是StringGrid才能合并,以前我是用计算字段的方法,但是不太完美,但是我看好多PB开发出的程序都能实现这个功能, 有没有那位解决过这个问题。

解决方案 »

  1.   

    EasyGrid不是很理想,刚试过了,我的要求是同一列中相同的数据合并
    用EasyGrid每一行要在设计中加入,根本不行
      

  2.   

    create table 表(部门 int,人员 varchar(20))
    insert into 表 select 1,'张三'
    insert into 表 select 1,'李四'
    insert into 表 select 1,'王五'
    insert into 表 select 2,'赵六'
    insert into 表 select 2,'邓七'
    insert into 表 select 2,'刘八'
    go--创建用户定义函数
    create function f_str(@department int)
    returns varchar(8000)
    as
    begin
        declare @ret varchar(8000)
        set @ret = ''
        select @ret = @ret+','+人员 from 表 where 部门 = @department
        set @ret = stuff(@ret,1,1,'')
        return @ret 
    end
    go
    --执行
    select 部门,人员=dbo.f_str(部门) from 表 group by 部门 order by 部门
    go--输出结果
    /*
    部门  人员
    ----  --------------
    1     张三,李四,王五
    2     赵六,邓七,刘八
      

  3.   

    楼主看这篇吧,不行楼主就只能换一些表格控件用了,类excel风格就行,但是还是要自己编程实现单元格合并的~~
    http://topic.csdn.net/t/20051111/10/4386462.html
      

  4.   

    To:老蔡,DBGridEh 的列那有HideDuplicates属性啊
      

  5.   

    To:Logne
    那篇文章是说StringGrid的合并,不是DBGRID
      

  6.   

    用SQL语句是我一直在用的方法,但效果不是很理想
    第一、空的单元格会显示边线
    第二、当拉动滚过条时,最上一格可能显示空白。我看过很多用PB开发的程序,这个效果好象很容易实现,我没用过PB,请大家指教。
      

  7.   

    Version 3.5
       + Added property HideDuplicates: Boolean in TColumnEh. Determines whether to hide
         duplicated values in the column.