1.-------------问题是这样的:
我在一个工程中,将数据库查询的记录集变量赋给了控件MSHFlexGrid,作为其数据源并显示出来。由于实际需要,要对控件MSHFlexGrid进行删除一行、添加一行的操作,当然已经和数据集变量没有了关系。删除操作没问题,现在问题就是在控件MSHFlexGrid尾部添加一行记录出现了问题:添加成功,但s是显示不出来。下面两种方法我都试过了:
(1)With MSHFlexGrid1
            .Rows = .Rows + 1
            .Row = .Rows - 1     '定位到最后一行
            for i=0 to 6
               .Col = i          '为最后一行1-7列赋值
               .Text =Format(i*3)
            Next
            .Refresh
     End With
(2)With MSHFlexGrid1
            .Additem ""
            .Row = .Rows - 1     '定位到最后一行
            for i=0 to 6
               .Col = i          '为最后一行1-7列赋值
               .Text =Format(i*3)
            Next
            .Refresh
     End With
    为此,我但不跟踪了所添加行中各单元的值,没有问题,就是死活没有显示增加的行,当然也就没有内容了。
2.---------- 但是我不甘心,单独建了工程专门测试改控件,代码如下:Private Sub Command1_Click()
 
   Me.MSHFlexGrid1.AddItem ""
   Me.MSHFlexGrid1.Rows = Me.MSHFlexGrid1.Rows + 1
   Me.MSHFlexGrid1.Row = Me.MSHFlexGrid1.Rows - 1
   Me.MSHFlexGrid1.Col = 1
   Me.MSHFlexGrid1.Text = 23
   Me.MSHFlexGrid1.Col = 2
   Me.MSHFlexGrid1.Text = 23End SubPrivate Sub Form_Load()
 
    With Me.MSHFlexGrid1
       .Rows = 10
       For i = 1 To 9
          .Col = 1
          .Row = i
          .Text = i
       Next
    End With
End Sub
结果没有问题,能添加行以及内容。
因此我很郁闷,将这两个工程中该控件的属性一一对比了一番,完全相同,更郁闷。
3.----------最后又把该控件的各个属性、方法看了一遍,也没什么收获。
last ,绝望的我向大侠们请教,并呈上50大洋(另20在另一个贴子),谢谢了!!!

解决方案 »

  1.   

    '是在mshflexgrid控件中没有显示?可能是此控件的内容超过了一页了,这样试试:
    With MSHFlexGrid1
        .Rows = .Rows + 1
        .Row = .Rows - 1     '定位到最后一行
        for i=0 to 6
           .Col = i          '为最后一行1-7列赋值
           .Text =Format(i*3)
        Next
        .toprow=.row        '----->加上此句试试
    End With
      

  2.   

    这样试试,加了个Redrew
    (1)With MSHFlexGrid1
                .Redrew=Flase
                .Rows = .Rows + 1
                .Row = .Rows - 1     '定位到最后一行
                for i=0 to 6
                   .Col = i          '为最后一行1-7列赋值
                   .Text =Format(i*3)
                Next
                .Redrew=True
                .Refresh
         End With
      

  3.   

    -〉 Leftie(左手,为人民币服务) : 内容没有超过一页呀?再说了,多少行算是一页?你的方法我试了,和lfshf()给的方法效果一样:有时能增加,有时控件闪一下就是没增加。我开始怀疑我的vb6.0了,但是单独测试控件没有问题,就向我主题2中所言。怎么办?超级郁闷
      

  4.   

    看我的代码:
    MSHFlexGrid1.AddItem "合计:"    MSHFlexGrid1.Row = MSHFlexGrid1.Rows - 1
        MSHFlexGrid1.Col = 1
        MSHFlexGrid1.Text = "合计:"
        MSHFlexGrid1.CellBackColor = vbGreen
        MSHFlexGrid1.ForeColorSel = vbYellow
        MSHFlexGrid1.Col = 2
        MSHFlexGrid1.Text = Format(MM@, "#0.00")
        MSHFlexGrid1.CellBackColor = vbYellow
        MSHFlexGrid1.ForeColorSel = vbYellow
      

  5.   

    ningkang(搜索客,但经常什么也搜不到) :你的代码应该没问题的
    设置其他属性了吗?
     Hassle() :没有“On Error”
      

  6.   

    我觉得是因为你在添加一行之前进行了删除操作导致的,我以前也遇到过,是 MSHFlexGrid控件的bug,后来我装了vb sp5补丁文件之后就好了,真不明白你为何装了之后还不好用
      

  7.   

    kinlin: 哦,我试了,你说得很对,我如果只是添加,没问题的。
    我想要不就重新装一遍vb6以及sp5,你说呢?
      

  8.   

    MSHFlexGrid剩下最后两行后不能删除,此时可捕获到错误提示,可用MSHFlexGrid.Clear
      

  9.   

    lfshf() 这个我是知道的,谢谢!并且我没有删除最后两行。
    kinlin():您好,我给你发消息了,谢谢查看!