您的位置:程序门 -> vb -> 控件



vb msflexgrid 显示数据


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


vb msflexgrid 显示数据[已结贴,结贴人:zy_victory]
发表于:2007-01-19 14:31:35 楼主
在窗体的combobox中选择一个选项后,在msflexgrid中会显示对应的一些数据,我如果重新选择其它的combobox中的选项后想在msflexgrid中重新显示对应数据,但现在却是在上次数据的基础上继续增加数据,请问这个问题应该怎样解决?
    另外msflexgrid合并标题的问题,我以前已经提问过了,但还是没有解决:标题共有三行,其中有些行中的某几列需要合并,,某些相同列需要合并,但不合并输入数据,用合并单元格的方式只合并标题,应怎样做,可否举个例子?
    谢谢!
发表于:2007-01-19 15:28:451楼 得分:0
重新显示对应数据,但现在却是在上次数据的基础上继续增加数据,请问这个问题应该怎样解决?
re:  
msflexgrid1.rows=1

合并:
1,   合并的方式   行还是列   mergecells
2,合并的哪一列(行)mergecol,mergerow
发表于:2007-01-21 15:05:262楼 得分:20
dim   i   as   long
       
        with   sgrd
                .cols   =   5
                .rows   =   4
                for   i   =   1   to   4
                        .textmatrix(0,   i)   =   "学生档案 "
                        .colalignment(i)   =   4
                next
                .textmatrix(1,   0)   =   "序号 "
                .textmatrix(2,   0)   =   "2   "
                .textmatrix(3,   0)   =   "2   "
                .textmatrix(1,   1)   =   "姓名 "
                .textmatrix(1,   2)   =   "姓名 "
                .textmatrix(1,   3)   =   "性别 "
                .textmatrix(1,   4)   =   "年龄 "
                .mergecells   =   flexmergerestrictrows
                .mergerow(0)   =   true
                .mergerow(1)   =   true
                .mergecol(0)   =   true
        end   with
看这段代码你就明白了。
发表于:2007-01-21 18:54:573楼 得分:0
重新显示对应数据,但现在却是在上次数据的基础上继续增加数据,请问这个问题应该怎样解决?
用mshflexgrid控件代替,可以用ado绑定数据源。
mshflexgrid1.clear
set   rs=new   adodb.recordset
set   strcon=new   adodb.connection
strcon.open   connectionsql
rs.open   "select   *   from   table ",strcon,1,1
set   mshflexgrid1.datasource=rs
发表于:2007-01-22 09:34:204楼 得分:0
to:   skysyan()
谢谢你的方法,这样对于前面要合并的列来说是可以的,但如果我在后面再加一需要合并的列就不能合并了。比如加上
                  .textmatrix(0,   5)   =   "xx "
                  .textmatrix(1,   5)   =   "xx "
这两行不能合并。请问这个怎样解决啊?
在线等啊
发表于:2007-01-22 19:28:415楼 得分:0
那i值也在增加啊,把.mergecol(5)   =   true
发表于:2007-01-23 09:07:436楼 得分:0
我加上.mergecol(5)   =   true这一句了,还是不能合并textmatrix(0,   5)和textmatrix(1,   5)啊?
发表于:2007-01-23 13:45:257楼 得分:0
是不是还要刷新一下呢,你把这句加上试试:mshflexgrid1.refresh
发表于:2007-01-23 14:44:508楼 得分:0
还是不行吧,应该怎样修改啊?
发表于:2007-01-24 15:02:099楼 得分:0
自己顶一下,有没有高手来帮帮忙啊?
发表于:2007-01-25 10:36:4510楼 得分:0
可能是你程序的顺序错了,你设个断点调试一下,或者把代码贴出来让大伙仔细瞧瞧。
发表于:2007-01-25 11:02:2911楼 得分:0
下面就是代码了,后面的行没有合并。大家看看是哪有错误?

private   sub   form_load()
             
        with   msflexgrid1
            .rows   =   5
            .cols   =   11
           
            .fixedrows   =   3
            .fixedcols   =   0
         
            for   i   =   1   to   2
                  .textmatrix(i,   5)   =   "计划数量 "
            next   i
           
            for   i   =   6   to   7
                  .textmatrix(1,   i)   =   "调节数量 "
            next   i

            for   i   =   0   to   2
                  .textmatrix(i,   0)   =   "材料名称 "
                  .textmatrix(i,   1)   =   "规格 "
                  .textmatrix(i,   2)   =   "颜色 "
                  .textmatrix(i,   3)   =   "单位 "
                  .textmatrix(i,   4)   =   "单价 "
            next   i
           
            for   i   =   0   to   2
                  .textmatrix(i,   9)   =   "金额 "
                  .textmatrix(i,   10)   =   "备注 "
            next   i

            for   i   =   5   to   8
                  .textmatrix(0,   i)   =   "数量 "
            next   i

            .textmatrix(1,   8)   =   "实际数量 "
            .textmatrix(2,   8)   =   "实际数量 "
           
            .textmatrix(2,   6)   =   "调节方式 "
            .textmatrix(2,   7)   =   "调节比例 "
           
              .mergecells   =   flexmergerestrictrows
              .mergerow(0)   =   true
              .mergerow(1)   =   true
              .mergecol(0)   =   true
              .mergecol(1)   =   true
              .mergecol(2)   =   true
              .mergecol(3)   =   true
              .mergecol(4)   =   true
              .mergecol(5)   =   true
              .mergecol(6)   =   true
              .mergecol(9)   =   true
              .mergecol(10)   =   true
        end   with
end   sub
发表于:2007-01-25 11:29:2712楼 得分:0
你写错了一句:所以得不到你要的结果:把这句
.mergecells   =   flexmergerestrictrows
改成:
.mergecells   =   flexmergerestrictcolumns
就可以了
发表于:2007-01-25 11:43:1213楼 得分:0
你好,加上   .mergecells   =   flexmergerestrictcolumns
这一句虽然标题能合并了,但会出现我第一次提出的问题:下面的单元格输入数据时相同的数据也合并了,怎样避免这个问题,只要合并标题呢?
发表于:2007-01-26 08:51:3414楼 得分:0
???
发表于:2007-01-26 21:01:3615楼 得分:0
这么我也不会,正在研究中。。。
发表于:2007-01-26 22:11:0916楼 得分:0
ding
-------------------------
亮剑工作室:www.ruogo.com
发表于:2007-01-31 10:32:4717楼 得分:0
再提出来一次,还有没有人来看看帮帮忙啊?
发表于:2007-02-05 15:03:3418楼 得分:0
等了这么久都没能解决问题,先结帖,然后重新提问吧!


快速检索

最新资讯
热门点击