急问一个vsflexgrid的单元格选择的问题 1。单元格想任意选择,按住ctrl不能记录住已经选择过的单元格。2。我想在程序里遍历选择的单元格,不知道用什么方法能知道这个单元格被我用鼠标select了。急问!下午交活儿。谢谢各位大哥大姐 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我有点思路但没有时间试验,你自己搞好了,在窗体上多放一个list,或vsflexgrid,(不算你显示数据的那个)当点击你显示数据的那个vs的时候把选择的那行写入你多加的这个list 中,这样你的选择就都在list中了,不知道行不行,你试验下吧vsflexgrid中好象没有直接支持的属性过方法! 可以用RowData属性来记录当前的操作状态。 楼上的能具体说明一下吗?同时我再查一下RowData属性! 下面是个例子:这能实现我想要的,判断单元格是否选择的要求吗?狐疑中 Dim coll As New Collection coll.Add "Hello" coll.Add "World" fg.RowData(1) = 212 fg.RowData(2) = "Hello" fg.RowData(3) = coll fg.RowData(4) = Me Debug.Print TypeName(fg.RowData(1)), fg.RowData(1) Debug.Print TypeName(fg.RowData(2)), fg.RowData(2) Debug.Print TypeName(fg.RowData(3)), fg.RowData(3).Item(2) Debug.Print TypeName(fg.RowData(4)), fg.RowData(4).Caption 结果Integer 212 String Hello Collection World Form1 Form1 Private Sub VSFlexGrid1_Click() Me.VSFlexGrid1.RowData(Me.VSFlexGrid1.RowSel) = "1"End Sub这个事件中可以记录点击的操作。要么在双击中记录。。这只是一个识别 for i=1 to me.VSFlexGrid1.Rows-1 if VSFlexGrid1.RowData(i)=1 then 你要操作的记录 next next jiemupig(伦涯飘) 感谢你了,这个方法的确不错,我试一试。剩下第一个问题了,ctrl键不能实现复选cell的功能?还有高人能帮忙吗 再让高手看一看 ding!!!!!!!!!! 谢谢!我已经实现了一个单纯用mouse拖拉选择单元格,判断该范围的功能。用的是mousemove 和mouseup方法,因为单纯拖拉,松开鼠标后记录的单元格位置,仍然是按下鼠标的那个,所以只用判断出鼠标移动到哪个单元格松开鼠标(mouseup),把这个单元格位置记录下来,再循环取这个范围内的数值即可。现在就剩下,ctrl与鼠标的那种多选了。还是因为没有isselected这种判断。并且,按住ctrl并不能有多选的效果,这是剩下的两个问题。等待高手一起学习 我想在把数据导出时在Excel中标明字段名!急~~~~~~~~~~~ 提示: 实时错误'35600' 索引超出边界 如果改变自定义控件的图标 在VB中怎样实现打印功能?我要把数据库中的数据打印出来。 想把一个字符串中的数字抽取出来,该怎么做 有没有很方便的录入数据的控件,后台和数据库连接起来,up有分 求助! 提取ACCESS2000数据库的结构(包括表名、字段名、字段类型、字段长度、*说明) 请各位懂财会的大侠帮忙看看,小弟在此谢了! 什么是触发器?它有那几种类型? 大家来讨论一下Office开发兼容性的问题? ComboBox控件的自动查询
vsflexgrid中好象没有直接支持的属性过方法!
这能实现我想要的,判断单元格是否选择的要求吗?狐疑中
Dim coll As New Collection
coll.Add "Hello"
coll.Add "World"
fg.RowData(1) = 212
fg.RowData(2) = "Hello"
fg.RowData(3) = coll
fg.RowData(4) = Me
Debug.Print TypeName(fg.RowData(1)), fg.RowData(1)
Debug.Print TypeName(fg.RowData(2)), fg.RowData(2)
Debug.Print TypeName(fg.RowData(3)), fg.RowData(3).Item(2)
Debug.Print TypeName(fg.RowData(4)), fg.RowData(4).Caption
结果
Integer 212 String Hello Collection World Form1 Form1
Me.VSFlexGrid1.RowData(Me.VSFlexGrid1.RowSel) = "1"
End Sub
这个事件中可以记录点击的操作。要么在双击中记录。。这只是一个识别
for i=1 to me.VSFlexGrid1.Rows-1
if VSFlexGrid1.RowData(i)=1 then
你要操作的记录
next
next
感谢你了,这个方法的确不错,我试一试。
剩下第一个问题了,ctrl键不能实现复选cell的功能?
还有高人能帮忙吗
我已经实现了一个单纯用mouse拖拉选择单元格,判断该范围的功能。
用的是mousemove 和mouseup方法,因为单纯拖拉,松开鼠标后记录的单元格位置,仍然是按下鼠标的那个,所以只用判断出鼠标移动到哪个单元格松开鼠标(mouseup),把这个单元格位置记录下来,再循环取这个范围内的数值即可。
现在就剩下,ctrl与鼠标的那种多选了。还是因为没有isselected这种判断。并且,按住ctrl并不能有多选的效果,这是剩下的两个问题。
等待高手一起学习