如何实现点击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 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|