点击 VB 中 DataGrid 行 触发事件 弹出窗口 并传递 所点击行参数
2013-08-13 10:35
609 查看
如何实现点击VB中DataGrid行,触发事件弹出窗口,并传递所点击行参数:
通过双击事件来实现的:
Private Sub DataGrid1_DblClick()
Dim frm1 As New frmNew ''定义一个窗体对象frm1,frmNew是程序中的一个窗体
Dim ActiveRow As Integer
On Error GoTo ErrHandle
ActiveRow = DataGrid1.Row '取得当前行号
If DataGrid1.Row >= 0 Then
frm1.flgAddNew = False '设置打开窗体的模式为浏览(或是修改,反正不是新增)
frm1.inId = DataGrid1.Columns(0).Value '将当前行的第1列(记录的ID)传递给窗体
frm1.Show 1
End If
'更新窗体数据(如果在打开窗体中修改了数据,就需要重新刷新DataGrid1的当前行数据)
Call DataView(ActiveRow)
Exit Sub
ErrHandle:
MsgBox "错误提示:" & Err.Description
End Sub
DataView函数的功能就是加载数据到你的DataGrid里面,并将当前行指向你所要的行(在修改或删除记录时)。可以参考以下代码:
Private Sub DataView(Optional ActiveRow As Integer = 0)
On Error GoTo ErrHandle
Set Rs = New ADODB.Recordset
Rs.Open "Select * From Test order by Id", ConnDB, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = Rs
If ActiveRow < Rs.RecordCount And ActiveRow > 0 Then
DataGrid1.Row = ActiveRow
End If
Exit Sub
ErrHandle:
MsgBox "错误提示:" & Err.Description
End Sub
记录明细窗体frmNew中定义了两个变量:
Public flgAddNew As Boolean
Public inId As String
其中flgAddNew是控制窗体到底是以新增记录模式还是查看模式去显示(文本框、按钮等都有变动);
inId则是告诉该窗体如果是要查看记录的话,记录的ID是多少。
所以在查看某条记录时,需要这么写:
frm1.flgAddNew = False
frm1.inId = DataGrid1.Columns(0).Value
通过双击事件来实现的:
Private Sub DataGrid1_DblClick()
Dim frm1 As New frmNew ''定义一个窗体对象frm1,frmNew是程序中的一个窗体
Dim ActiveRow As Integer
On Error GoTo ErrHandle
ActiveRow = DataGrid1.Row '取得当前行号
If DataGrid1.Row >= 0 Then
frm1.flgAddNew = False '设置打开窗体的模式为浏览(或是修改,反正不是新增)
frm1.inId = DataGrid1.Columns(0).Value '将当前行的第1列(记录的ID)传递给窗体
frm1.Show 1
End If
'更新窗体数据(如果在打开窗体中修改了数据,就需要重新刷新DataGrid1的当前行数据)
Call DataView(ActiveRow)
Exit Sub
ErrHandle:
MsgBox "错误提示:" & Err.Description
End Sub
DataView函数的功能就是加载数据到你的DataGrid里面,并将当前行指向你所要的行(在修改或删除记录时)。可以参考以下代码:
Private Sub DataView(Optional ActiveRow As Integer = 0)
On Error GoTo ErrHandle
Set Rs = New ADODB.Recordset
Rs.Open "Select * From Test order by Id", ConnDB, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = Rs
If ActiveRow < Rs.RecordCount And ActiveRow > 0 Then
DataGrid1.Row = ActiveRow
End If
Exit Sub
ErrHandle:
MsgBox "错误提示:" & Err.Description
End Sub
记录明细窗体frmNew中定义了两个变量:
Public flgAddNew As Boolean
Public inId As String
其中flgAddNew是控制窗体到底是以新增记录模式还是查看模式去显示(文本框、按钮等都有变动);
inId则是告诉该窗体如果是要查看记录的话,记录的ID是多少。
所以在查看某条记录时,需要这么写:
frm1.flgAddNew = False
frm1.inId = DataGrid1.Columns(0).Value
相关文章推荐
- JS点击事件触发弹出窗口样式控制
- 演示弹出窗口传递参数,并用参数来动态修改DataGrid的列
- 演示弹出窗口传递参数,并用参数来动态修改DataGrid的列
- jquery 触发a标签点击事件,弹出页面;不被浏览器屏蔽拦截的打开窗口的方法
- extjs使用 iframe嵌入框,点击事件弹出窗口显示
- HTML5标签点击事件方法:无法传递对象类型参数
- Android类似微博弹出窗口效果并且点击事件
- JS与JQuery点击事件传递参数
- Flex利用自定义事件使用弹出窗口为DataGrid添加新数据
- DataGrid中点击超级链接列后,如何控制弹出窗口????/(MENGZI)
- ASP.NET中DataGrid鼠标经过感知以及点击行弹出窗口
- 移动端input弹出带有搜索按钮的键盘与获取点击搜索按钮触发的事件
- ASP.NET中DataGrid鼠标经过感知以及点击行弹出窗口
- 弹出窗口关闭后如何触发父窗口事件 [转帖]
- 在System.timers.timer中给定时器触发的Elapsed事件传递参数
- 点击关闭窗口时,弹出提醒的一个事件
- ASP.NET DATAGRID中如何点击整列或模板列后弹出窗口并选中新窗口数据将值返回给模板列中的文本框
- ASP.NET中DataGrid鼠标经过感知以及点击行弹出窗口
- 在System.timers.timer中给定时器触发的Elapsed事件传递参数
- 移动端input弹出带有搜索按钮的键盘与获取点击搜索按钮触发的事件