MSHFlexGrid控件..难道没有人知道??
我用MSHFlexGrid绑定一mdb数据库,我想实现如下功能:当在控件上双击鼠标左键时,控件回显示下一屏幕的内容;利用mousedown或mouseup事件可以捕获双击,可是怎样让内容翻到下一屏幕??
问题点数:100、回复次数:12Top
1 楼dbcontrols(泰山__抛砖引玉)回复于 2002-01-09 08:09:45 得分 5
Private Sub MSHFlexGrid1_DblClick()
MSHFlexGrid1.Row = MSHFlexGrid1.Row + 10
End Sub
Top
2 楼friendlysong(ayang)回复于 2002-01-09 08:12:23 得分 5
楼上的老兄说得有道理,10 这个数要视你显示的情况而变化的。Top
3 楼dbcontrols(泰山__抛砖引玉)回复于 2002-01-09 08:18:15 得分 5
还需要判断是不是到最后一部分,就是
if MSHFlexGrid1.Row >= MSHFlexGrid1.Rows then
MSHFlexGrid1.Row = MSHFlexGrid1.Rows
EndIfTop
4 楼zbhui(衣服架)回复于 2002-01-09 08:28:10 得分 5
dbcontrols(泰山)老兄说的很对, 就这样搞定Top
5 楼joinkey(一切)回复于 2002-01-09 08:33:02 得分 30
应为
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
Top
6 楼dbcontrols(泰山__抛砖引玉)回复于 2002-01-09 09:06:37 得分 0
反正就是这么个思路.Row和Col是行号和列号,可以设置也可以读取,而Rows和Cols是总行数和总列数,也可以设置和读取,但要保证Rows>=Row且Cols>=ColTop
7 楼junglerover(灌木丛)回复于 2002-01-09 09:50:20 得分 50
各位好象犯了一个小小的错误......
设置ROW属性恐怕不能使MSHFLEXGRID翻页吧?
应该是TOPROW属性才对啊。Top
8 楼junglerover(灌木丛)回复于 2002-01-09 09:52:19 得分 0
何况joinkey的
MSHFlexGrid1.Row = MSHFlexGrid1.Rows
这种代码,简直是误人子弟么。Top
9 楼dbcontrols(泰山__抛砖引玉)回复于 2002-01-09 10:16:35 得分 0
junglerover(灌木丛) 说的对.对不起了.Top
10 楼dbcontrols(泰山__抛砖引玉)回复于 2002-01-09 10:17:32 得分 0
我那些代码只是控制单元格的位置.Top
11 楼joinkey(一切)回复于 2002-01-09 10:41:38 得分 0
to junglerover(灌木丛)
你的toprow也不行Top
12 楼joinkey(一切)回复于 2002-01-09 15:29:19 得分 0
应该
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
Top




