点击 VB 中 DataGrid 行 触发事件 弹出窗口 并传递 所点击行参数

前端之家收集整理的这篇文章主要介绍了点击 VB 中 DataGrid 行 触发事件 弹出窗口 并传递 所点击行参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

如何实现点击VB中DataGrid行,触发事件弹出窗口,并传递所点击行参数:

通过双击事件来实现的:
PrivateSubDataGrid1_DblClick()
Dimfrm1AsNewfrmNew ''定义一个窗体对象frm1,frmNew是程序中的一个窗体
DimActiveRowAsInteger
OnErrorGoToErrHandle

ActiveRow=DataGrid1.Row'取得当前行号

IfDataGrid1.Row>=0Then
frm1.flgAddNew=False '设置打开窗体的模式为浏览(或是修改,反正不是新增)
frm1.inId=DataGrid1.Columns(0).Value '将当前行的第1列(记录的ID)传递给窗体
frm1.Show1
EndIf
'更新窗体数据(如果在打开窗体中修改了数据,就需要重新刷新DataGrid1的当前行数据)
CallDataView(ActiveRow)
ExitSub
ErrHandle:
MsgBox"错误提示:"&Err.Description
EndSub

DataView函数功能就是加载数据到你的DataGrid里面,并将当前行指向你所要的行(在修改删除记录时)。可以参考以下代码
PrivateSubDataView(OptionalActiveRowAsInteger=0)
OnErrorGoToErrHandle

SetRs=NewADODB.Recordset
Rs.Open"Select*FromTestorderbyId",ConnDB,adOpenStatic,adLockOptimistic
SetDataGrid1.DataSource=Rs
IfActiveRow<Rs.RecordCountAndActiveRow>0Then
DataGrid1.Row=ActiveRow
EndIf
ExitSub
ErrHandle:
MsgBox"错误提示:"&Err.Description
EndSub

记录明细窗体frmNew中定义了两个变量:
PublicflgAddNewAsBoolean
PublicinIdAsString
其中flgAddNew是控制窗体到底是以新增记录模式还是查看模式去显示(文本框、按钮等都有变动);

inId则是告诉该窗体如果是要查看记录的话,记录的ID是多少。
所以在查看某条记录时,需要这么写:
frm1.flgAddNew=False frm1.inId=DataGrid1.Columns(0).Value

猜你在找的VB相关文章