用datagrid好像是可以实现的!

解决方案 »

  1.   

    可以使用多个Msflexgrid来实现阿 
    上面两个 下面4个Msflexgrid不就可以了吗?
    然后用程序来控制上面数据的关联 
    我的程序就经常这样实现的
      

  2.   

    哈哈……
    只要把想合并的表头内容写成一样的,然后设置合并属性为
    flexMergeFree
    然后指定合并的行列就可以了。
      

  3.   

    那么请问如何在一个mshflexgrid中画两行表头呢?
    s$ = "<Region |<Product |<Employee Sales "
    MSHFlexGrid1.FormatString = s$
    只能设置一行呀!
      

  4.   

    把你要合并的单元格的text都设为相同,比如在第一行,(0,0)和(0,1)单元格的值设为相同,(0,2)和(0,3)的相同,下面要合并的格也一样设置。  
        设置完后,用这样的代码合并:
    With MSFlexGrid1
    .MergeCells = 1
    .MergeRow(0) = True  '合并第0行
    .Mergecol(0) = True  '合并第0列
    End Withobject.MergeCells [=value]
    value 的设置值如下所示:
    常数 值 描述 
    flexMergeNever 0 不显示。包含相同内容的单元不分组。这是缺省设置。 
    flexMergeFree 1 自由。包含相同内容的单元总是合并。 
    flexMergeRestrictRows 2 限制行。只有行中包含相同内容的相邻单元(向当前单元左边)才合并。 
    flexMergeRestrictColumns 3 限制列。只有列中包含相同内容的相邻单元(向当前单元上方)才合并。 
    flexMergeRestrictBoth 4 限制行和列。只有在行中(向左)或在列中(向上)包含相同内容的单元才合并。
      

  5.   

    把下面的这段代码敲一下,你就知道了:
    MSFlexGrid1.FormatString = "课程"
    MSFlexGrid1.TextMatrix(0, 1) = "语文"
    MSFlexGrid1.TextMatrix(0, 2) = "数学"
    MSFlexGrid1.TextMatrix(0, 3) = "英语"
      

  6.   

    要想设表头的内容不一定要用FormatString属性啊,
    可以用不这种方式的:
    S$="col1" & vbtab & "col2" & vbtab & "col3"
    gd.row=0
    gd.col=0
    gd.rowsel=2
    gd.colsel=gd.cols-1
    gd.clip=S$