VB的msflexgrid控件问题

来源:百度知道 编辑:UC知道 时间:2024/06/30 01:54:56
我在Msflexgrid 上面有这样几条显示

商品编号 商品名称 商品价格
01 橡皮擦 1.0

当我鼠标点到这个商品这一栏的时候 text1.text="橡皮擦"
我用datagrid控件 直接在click事件 就能做到。。如果在msflexgrid上怎么做到呢?代码该怎么编写??商品有很多,随便点一个text1.text都会显示当前鼠标所点的这一行的商品名称。

也是click事件,text1.text=msflexgrid1.text

或者用TextMatrix

Private Sub MSFlexGrid1_Click()
With MSFlexGrid1
Text1.Text=.TextMatrix(.Row,2)'假设第2列是商品名
End With
End Sub

根据你的问题,基本可以确定你是根据数据绑定控件来进行查询的,MSFLEXGRID虽然提供与DATA控件的绑定,但似乎不支持选中后自动移动记录集的当前记录位置.

楼上两位的代码是可以实现你问题中的要求,但DATA的当前记录不会随之变化,可能不能与其它代码合用.
所以即然您喜欢datagrid的用法,那还是用这个方法比较理想.

Private Sub MSFlexGrid1_Click()
Data1.Recordset.MoveFirst
Data1.Recordset.Move MSFlexGrid1.Row - 1
End Sub
代码说明:
当表格被点击后,记录集移到首行,然后再移动表格的当前行号减一的量(在datagrid中,这些代码是自动完成的),也就是当前记录移动到表格所指的位置,然后系统自动更新与DATA绑定的控件(如TEXT1)的内容.

很简单,一样在MSFGird的CLICK事件里写上:

MSFGird1.col=1
text1.text=MSFGird1.text
就行了

同意 godiq - 同进士出身 六级

很简单,一样在MSFGird的CLICK事件里写上:

MSFGird1.col=1
text1.text=MSFGird1.text
就行了

TextMatrix

Private Sub MSFlexGrid1_Click()
With MSFlexGrid1
Text1.Text=.TextMatrix(.Row