那哪个表格控件可以分页呢,如果这里的msflexgrid换成那个控件,用上面的代码可以吗?

解决方案 »

  1.   

    dim nPageNo as long
    dim i as long
        rs.PageSize = 100
        If rs.PageCount < nPageNo Or nPageNo <= 0 Then
            nPageNo = 1
        End If
        
        If rs.RecordCount > 0 Then
            rs.AbsolutePage = nPageNo
        End If
        
        Do Until rs.EOF
            If i >= rs.PageSize Then Exit Do
            rs.movenext
        loop
      

  2.   

    我改动的代码可是还不行。
    intPage = 1
     Re.PageSize = 100
       Re.AbsolutePage = intPage
           For intRecord = 1 To Re.PageSize
           Set DataGrid1.DataSource = Re
           Re.MoveNext
           count = count + 1
           If count = Re.PageSize Then Exit For
           If Re.EOF Then
              Exit For
            End If
           
           Next intRecord
       
    End If
      

  3.   

    用listview试试!!
    自己用代码控制。
      

  4.   

    SQL查询的时候可以限制比如显示第30到50条记录.
    所以我建议你自己作一个控件,datagrid+一个button
    .---------------------------------------------------------
    Montaque==Digitalboy==Houyongfeng==Monkey
      

  5.   

    可是ado中不是有一些属性能够控制分页的吗,如absolutepage等,我感觉我的代码是因为Re.Open strlong, Conn,然后Set DataGrid1.DataSource = Re,所以全部显示,要是只显示前面一百条该如何写呢?(我已经加到一百分了,还不够吗)
      

  6.   

    我做过分页控制,不过不是前边各位说的方法,说一说以供参考
    当时有两种方法,
    一种是用两个MSFlexGrid控件,一个用来装所有数据
    一个用来显示,
    一种是只用一个控件,装所有数据,向它发送消息,如同点击了Scroll一样
      SendMessage MFGridPrv.hWnd, WM_VSCROLL, SB_LINEDOWN, 1
    我用后一种方法,加上计算应该滚动多少次的判断代码实现UP~~
      

  7.   

    用Sql语句就可以了:
    '只显示前面一百条
    Dim Con As ADODB.Connection
    Dim Rs As ADODB.RecordsetSet Con = New ADODB.Connection
    Set Rs = New ADODB.Recordset
    Con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=D:\Microsoft Visual Studio\VB98\BIBLIO.MDB"
    Con.Open Con.ConnectionString
    Rs.Open "select Top 100 * from Publishers", Con, 1, 3
    Set DataGrid1.DataSource = Rs
      

  8.   

    只显示前100条,要在SQL 语句中写select top 100 * from table