双击datagrid的一行,显示总跳到第一条记录
时间:2011-09-15
来源:互联网
先用一个datagrid显示数据,再写另一个模块A,也使用同一个datagrid显示数据。在模块A中,想实现双击datagrid一次,即选择一行记录的功能。但问题是,使用模块A时,每双击datagrid中的一条记录,显示总是跳到datagrid数据表的第一条记录上,为何?如何解决?模块A的代码如下(Text1是用于显示双击所选的记录):
Private Sub DataGrid1_DblClick()
Dim cn As New adodb.Connection
Dim rs As New adodb.Recordset
cn.CursorLocation = adUseClient
cn.ConnectionString = "Driver={SQL Server};server=" & ComputerName & ";uid=sa;pwd=1234;database=disc"
cn.Open
rs.Open ("select * from disc_name "), cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs
Text1.Text = DataGrid1.Columns(0).CellText(DataGrid1.Bookmark)
'DataGrid1.Refresh ' 这句话要不要?
End Sub
Private Sub DataGrid1_DblClick()
Dim cn As New adodb.Connection
Dim rs As New adodb.Recordset
cn.CursorLocation = adUseClient
cn.ConnectionString = "Driver={SQL Server};server=" & ComputerName & ";uid=sa;pwd=1234;database=disc"
cn.Open
rs.Open ("select * from disc_name "), cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs
Text1.Text = DataGrid1.Columns(0).CellText(DataGrid1.Bookmark)
'DataGrid1.Refresh ' 这句话要不要?
End Sub
作者: chenfengrabbit 发布时间: 2011-09-15
双击datagrid时,选中行的事件,这样应该可以选中一行数据!
作者: rui_china 发布时间: 2011-09-15
你每次双击,都进行记录集加载,当然,每次都定位到第一条记录上了
按照你的代码看,你可以在Form_Load中加载记录集
Private Sub Form_Load()
Dim cn As New adodb.Connection
Dim rs As New adodb.Recordset
cn.CursorLocation = adUseClient
cn.ConnectionString = "Driver={SQL Server};server=" & ComputerName & ";uid=sa;pwd=1234;database=disc"
cn.Open
rs.Open ("select * from disc_name "), cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs
’Text1.Text = DataGrid1.Columns(0).CellText(DataGrid1.Bookmark),移动到RowColCange事件中
'DataGrid1.Refresh ' 这句话要不要?------没什么必要
End Sub
sub DataGird1_RowCloChange(...)
Text1.Text =rs(0),
end sub
当你在DataGrid的行间移动光标,记录会自动定位到相应的行上上面,不需要编码
按照你的代码看,你可以在Form_Load中加载记录集
Private Sub Form_Load()
Dim cn As New adodb.Connection
Dim rs As New adodb.Recordset
cn.CursorLocation = adUseClient
cn.ConnectionString = "Driver={SQL Server};server=" & ComputerName & ";uid=sa;pwd=1234;database=disc"
cn.Open
rs.Open ("select * from disc_name "), cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs
’Text1.Text = DataGrid1.Columns(0).CellText(DataGrid1.Bookmark),移动到RowColCange事件中
'DataGrid1.Refresh ' 这句话要不要?------没什么必要
End Sub
sub DataGird1_RowCloChange(...)
Text1.Text =rs(0),
end sub
当你在DataGrid的行间移动光标,记录会自动定位到相应的行上上面,不需要编码
作者: worldy 发布时间: 2011-09-15
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28