天哪,为什么我的MSFLEXGRID和数据库连接后,运行的时候赋值这么慢呢?几乎都能看出是一条一条往下走的呢,为啥呢?是控件就这特点?数据就10多条就这样了!~
With msfHorse
     rsHorse.MoveFirst
    .FormatString = "马号|马名|马名(英)|马色|马色1|性别|出生日期|出生地|马父ID|马父名|马父出生地|马母ID|马母名|马母出生地"
    .Cols = 14
    .Rows = i + 1
    .Row = 1
         For iRow = 1 To i
                
                .Col = 0
                .Text = IsTrue(rsHorse, "horse_sys_id")                .Col = 1
                .Text = IsTrue(rsHorse, "HN_CNAME")                .Col = 2
                .Text = IsTrue(rsHorse, "HN_ENAME")                .Col = 3
                .Text = IsTrue(rsHorse, "HO_COLOR_ID")                .Col = 4
                .Text = IsTrue(rsHorse, "HO_COLOR2_ID")                .Col = 5
                .Text = IsTrue(rsHorse, "SEX_edes")                .Col = 6
                .Text = IsTrue(rsHorse, "HO_DOB")                .Col = 7
                .Text = IsTrue(rsHorse, "HO_CTY")                .Col = 8
                .Text = IsTrue(rsHorse, "HO_SIRE_ID")                .Col = 9
                .Text = IsTrue(rsHorse, "HO_SIRE_NM")                .Col = 10
                .Text = IsTrue(rsHorse, "HO_SIRE_CTY")                .Col = 11
                .Text = IsTrue(rsHorse, "HO_DAM_ID")                .Col = 12
                .Text = IsTrue(rsHorse, "HO_DAM_NM")                .Col = 13
                .Text = IsTrue(rsHorse, "HO_DAM_CTY")            rsHorse.MoveNext
                If .Row + 1 < .Rows Then
                    .Row = .Row + 1
                End If
            
            Next iRow
End With
End Sub
我是这样赋值的

解决方案 »

  1.   

    属性引用不对吧!好像不应该是Text
      

  2.   

    先要将
      .Redraw=False
    然后再赋值
      再用.Redraw=True
      再加上 .refresh
      

  3.   

    用MSHFLEXGRID吧,可以直接与记录集绑定
      

  4.   

    set msflexgrid.datasource=adoRS
    即可。不用那么麻烦。
      

  5.   

    关键是我的数据库里有NULL值,我要用自己的函数ISTRUE判断,不能直接绑定!~
      

  6.   

    每列都给col赋值确实慢
    for i= 1 to msfHorse.rows
        entry=IsTrue(rsHorse, "horse_sys_id") & chr(9) & IsTrue(rsHorse, "HN_CNAME") & chr(9) &……&IsTrue(rsHorse, "HO_DAM_CTY")
        msfhorse.additem entry
        rsHorse.MoveNext
    next i
    或者这样
    for i= 1 to msfHorse.rows
        with msfhorse
            .textmatrix(i,0)=IsTrue(rsHorse, "horse_sys_id")
            ……
            .textmatrix(i,13)=IsTrue(rsHorse, "HO_DAM_CTY")
        end with
        rsHorse.MoveNext
    next i
    我都是这样用的,觉得不慢阿,几百条也是几乎同时出现的
      

  7.   

    天啊,是SET MSF。DATASOURCE=RSADO吗?我怎么绑不定呀?