Private Sub MSHFlexGrid1_DblClick()
MSHFlexGrid1.Row = MSHFlexGrid1.Row + 10
End Sub

解决方案 »

  1.   

    还需要判断是不是到最后一部分,就是
    if MSHFlexGrid1.Row >= MSHFlexGrid1.Rows then
    MSHFlexGrid1.Row = MSHFlexGrid1.Rows
    EndIf
      

  2.   

    dbcontrols(泰山)老兄说的很对, 就这样搞定
      

  3.   

    应为
    Private Sub MSHFlexGrid1_DblClick()
    if MSHFlexGrid1.Row >= MSHFlexGrid1.Rows-10 then
        MSHFlexGrid1.Row = MSHFlexGrid1.Rows
    else
        MSHFlexGrid1.Row = MSHFlexGrid1.Row + 10
    end if
    End Sub
      

  4.   

    反正就是这么个思路.Row和Col是行号和列号,可以设置也可以读取,而Rows和Cols是总行数和总列数,也可以设置和读取,但要保证Rows>=Row且Cols>=Col
      

  5.   

    各位好象犯了一个小小的错误......设置ROW属性恐怕不能使MSHFLEXGRID翻页吧?
    应该是TOPROW属性才对啊。
      

  6.   

    何况joinkey的
        MSHFlexGrid1.Row = MSHFlexGrid1.Rows
    这种代码,简直是误人子弟么。
      

  7.   

    junglerover(灌木丛) 说的对.对不起了.
      

  8.   

    to junglerover(灌木丛) 
    你的toprow也不行
      

  9.   

    应该
    Private Sub MSHFlexGrid1_DblClick()
    Dim pageRow, numTemp As Integer
    numTemp = (MSHFlexGrid1.Rows * MSHFlexGrid1.RowHeight) Mod MSHFlexGrid1.Height
    If numTemp = 0 Then
        pageRow = Int(MSHFlexGrid1.Rows * MSHFlexGrid1.RowHeight / MSHFlexGrid1.Height)
    Else
        pageRow = Int(MSHFlexGrid1.Rows * MSHFlexGrid1.RowHeight / MSHFlexGrid1.Height) + 1
    End If
    If MSHFlexGrid1.Row > MSHFlexGrid1.Rows - pageRow Then
        MSHFlexGrid1.TopRow = MSHFlexGrid1.Rows - 1
        MSHFlexGrid1.Row = MSHFlexGrid1.Rows - 1
    Else
        MSHFlexGrid1.TopRow = MSHFlexGrid1.Row + pageRow
        MSHFlexGrid1.Row = MSHFlexGrid1.Row + pageRow
    End If
    End Sub