双击datagrid的一行,显示总跳到第一条记录,该怎么解决

双击datagrid的一行,显示总跳到第一条记录
先用一个datagrid显示数据,再写另一个模块A,也使用同一个datagrid显示数据。在模块A中,想实现双击datagrid一次,即选择一行记录的功能。但问题是,使用模块A时,每双击datagrid中的一条记录,显示总是跳到datagrid数据表的第一条记录上,为何?如何解决?模块A的代码如下(Text1是用于显示双击所选的记录):
   
VB code
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



------解决方案--------------------
双击datagrid时,选中行的事件,这样应该可以选中一行数据!
------解决方案--------------------
你每次双击,都进行记录集加载,当然,每次都定位到第一条记录上了
按照你的代码看,你可以在Form_Load中加载记录集
VB code
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