还需要判断是不是到最后一部分,就是 if MSHFlexGrid1.Row >= MSHFlexGrid1.Rows then MSHFlexGrid1.Row = MSHFlexGrid1.Rows EndIf
dbcontrols(泰山)老兄说的很对, 就这样搞定
应为 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
if MSHFlexGrid1.Row >= MSHFlexGrid1.Rows then
MSHFlexGrid1.Row = MSHFlexGrid1.Rows
EndIf
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
应该是TOPROW属性才对啊。
MSHFlexGrid1.Row = MSHFlexGrid1.Rows
这种代码,简直是误人子弟么。
你的toprow也不行
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