收录日期:2018/10/21 01:33:29 时间:2016/05/22 08:22:26 标签:VB基础类
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset

Private Sub DataGrid1_Click()
Text1.Text = rs!员工编号
End Sub

Private Sub Form_Load()
Set conn = New ADODB.Connection
With conn
    .Provider = "MSDASQL"
    .ConnectionString = "DSN=TS;"
    .Open
End With
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
SQL = "select UserID as 员工编号 from PersonInformation"
rs.Open Trim(SQL), conn, adOpenKeyset, adLockOptimistic

Set DataGrid1.DataSource = rs
End Sub


运行后当我点击datagrid边缘三角时text1中的数据就会变成我所点击行的记录

但当我不点击边缘三角,而点击行里面的内容时,text1中的数据不会显示所点记录的值
需要再次点击才能显示,为什么?有什么办法吗?

程序运行的图片 http://sxhv998.y365.com/1.jpg
http://sxhv998.y365.com/2.jpg
http://sxhv998.y365.com/3.jpg
http://sxhv998.y365.com/4.jpg
http://sxhv998.y365.com/5.jpg
源代码 http://sxhv998.y365.com/DataGrid.jar
Private Sub DataGrid1_Click()
rs.bookmark=datagrid1.bookmark
Text1.Text = rs!员工编号
End Sub

其实是定义为双击事件更有效
方法1:DataGrid1.RecordSelectors = False去掉三角
方法2:去掉DataGrid1的Click事件将你的代码移动到DataGrid1的RowColChange事件中
方法3:去掉DataGrid1的Click事件,在Set DataGrid1.DataSource = rs后加入一下代码
       Set Text1.DataSource = rs
       Text1.DataField = "员工编号"
       Text1.Locked = True
改用mousedown或mouseup事件
Click事件会被单元格抢先吸收。

MaskedTextBox设置掩码时的问题 如何去掉execl单元格中文字前面的数字? 华为北研! TEST 我做了2年C#,现在想学习C/C++,但不知道从哪入手好,看些什么书,请高手指教 CB6访问Web Service在XP Service SP2下出现错误,有无良策? ■■■像我这种比较拉风的男人,都是用DOS下的edit写WEB语言代码的■■■ 上传文件和用户登录的问题 问一个很菜的问题,关于数据库的 华为北研! gridview排序问题 谁有POSTFIX最新的header_checks贡献一下 如何取数据库服务器的磁盘目录,就象sqlserver企业管理器中的数据备份那样, 跪求:在操作数据库的时候,能不能设置不让生成table_name.MYD 文件 用VC编译多个C文件时的链接问题 一个关于htmlparser 的问题 头痛! js下拉菜单问题! TreeView控件问题看看 高手帮帮忙!!! 我在用到CRoundButton2时出现的错误 求助:请高手教我怎么添加使用新的SCSI硬盘 如何在新窗口中显示结果,这样写却出不了。 vb.net中如何打开xls文件 为什么要放弃C++,去使用托管C++,向高手们请教。 哪住存储过程高手帮忙看下 把SQL改为参数 PHP4在IIS环境下的配置问题 激发on(RollOver)事件,如何使得场景中的MC(不是文本)滚屏? 中华英才网待遇好吗? memo中如何显示?