思路方法:
你可以先从数据库中将所有记录查找出来,形成一个数据源如rs,
然后将数据源重新与mshflxgrid连接一次,
set mshflexgrid.recordset=rs
即,采用对mshflexgrid初始化的方法刷新它

解决方案 »

  1.   



     with dg_query
        itemcount = have_subitem(query_sql, query_cnn, query_rst)
        Set .DataSource = query_rst
        Call set_hflexgrid(Me)
        .Refresh
        If itemcount >= 1 Then
            .FixedRows = 0
            .FixedRows = 1
            .ColWidth(1) = 2000
            .ColWidth(0) = 1400
            .ColWidth(12) = 1
            Lb_count.Caption = "满足条件的记录数:" + CStr(itemcount)     Else
             Lb_count.Caption = "满足条件的记录数: 0"
         End If
    End Sub
      

  2.   

    dim rs as new adodb.recordset
    dim conn as new adodb.connection
    rs.open "select * from table",conn,adOpenStatic,adLockOptimistic
    if rs.eof then exit sub
    set MSHFLEXGRID.DataSource=rs
    MSHFLEXGRID.refresh
    就可以了
      

  3.   

    我想再重复一遍,我是用记录集筛选出11万条记录,对一个库有几十万记录的表而言是有可能的,当然对用户来说它有可能会再筛选过,但对程序而言,不管他是否查看,我必须保证他能够查看这些记录。而我是用set MSHFLEXGRID.DataSource=记录集,然后MSHFLEXGRID.refresh
    ,但是该控件只能显示4000~5000行,那剩余的记录怎么显示呢?我可不想在翻到后面的时候,手工再从记录集里再一条一条的添加入MSHFLEXGRID里面,那样的效率太低了。
      

  4.   

    同意楼上。用页的方式,按一下按钮,从记录集中提取若干条记录,既不失速度,又可以解决 MSHFlexGrid 不能显示所有记录的问题。