关于移动MSFlexGrid的光标

bowlingljf 2005-12-09 01:00:41
请问怎么样移动MSFlexGrid中的光标?也就是让MSFlexGrid中的光标移动到上一行或者下一行,我用的是ADO对象。
...全文
325 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bowlingljf 2005-12-10
  • 打赏
  • 举报
回复
northwolves(狼行天下) :MSFlexGrid1.SelectionMode = flexSelectionByRow 实现不了,控件本来就设置了单行选中。

还是采用这种方式好了:
第一条
MSFlexGrid1.SetFocus
SendKeys "^{PGUP}"

最后一条:
MSFlexGrid1.SetFocus
SendKeys "^{PGDN}"
northwolves 2005-12-10
  • 打赏
  • 举报
回复
如果要移动到第一条和最后一条也是用SendKeys ctrl+home ctrl+end 吗? 呵呵
-----------------------
不错
northwolves 2005-12-10
  • 打赏
  • 举报
回复
MSFlexGrid1.SelectionMode = flexSelectionByRow
bowlingljf 2005-12-09
  • 打赏
  • 举报
回复
zfl2k(风) :如果要移动到第一条和最后一条也是用SendKeys ctrl+home ctrl+end 吗? 呵呵
bowlingljf 2005-12-09
  • 打赏
  • 举报
回复
zfl2k(风) :你的方法真的很简单,感谢!
vbman2003(家人):你的方法我试过了,也查了一些资料,确定是你说的那样,可是我在测试时却不行,不知道哪里出了问题,一按下去光标就不见了。
zfl2k 2005-12-09
  • 打赏
  • 举报
回复
最简单的:
下:
MSFlexGrid.SetFocus
SendKeys "{down}"
上:
MSFlexGrid.SetFocus
SendKeys "{up}"
vbman2003 2005-12-09
  • 打赏
  • 举报
回复
写按钮?UP/DOWN键就可了吧?
要写的话,上移按键试试: 
If fg.Row > 1 Then
fg.Row = fg.Row - 1
fg.ColSel = fg.Cols - 1
End If


下移按钮:
If fg.Row < fg.Rows - 1 Then
fg.Row = fg.Row + 1
fg.ColSel =fg.Cols - 1
End If
bowlingljf 2005-12-09
  • 打赏
  • 举报
回复
我是用ADO对象编程,采用如下方式在MSFlexGrid控件中显示数据库中的数据:
Do While Not rs.EOF '从数据库中取数据
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 1) = rs.Fields(1).Value
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 2) = rs.Fields(2).Value
rs.MoveNext
Loop

当用鼠标在MSFlexGrid中点击数据时,被点中的行会高亮度显示,现在我想做几个向前,向后移动的按钮,比如现在高亮度在第3行,当我点击向后移动时高亮度会就会移到第4行,现在请教怎么实际前后移动。因为控件并没有与RS绑定,所以RS的前后移动并不影响到MSFlexGrid的显示。
vbman2003 2005-12-09
  • 打赏
  • 举报
回复
不是很明白LZ的意思,是不是:

fg.Row = fg.MouseRow
bowlingljf 2005-12-09
  • 打赏
  • 举报
回复
不是这样,这样的话光标就看不到了
faysky2 2005-12-09
  • 打赏
  • 举报
回复
是不是这样:If MSFlexGrid1.Row<>0 Then MSFlexGrid1.Row=MSFlexGrid1.Row-1

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧