收录日期:2018/12/12 11:36:06 时间: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事件会被单元格抢先吸收。

统计一下大家每天睡几个小时??? 怎么样才能做出象FlashGet,蚂蚁等下载网络资源的工具呢? QQ设置上网的问题!装了proxy 本人最近学COM,问关于发行版本的问题(简单) 有谁知道天津考NIT数据库的情况 谁来帮我啊??? dos 命令编程 有请斑竹讲讲 笨笨龙和cpp_pro请进 集成显卡数据线没接好是否会频繁死机? 本人想做一个在线考试系统! 谁能够提供详细的学校教务管理排课算法? dos 命令编程? 我已经将创意变成产品,让我们一起将产品商业化运作起来 关于指针的指针的问题 打印预览的报表中的字有重叠 求助...... 关于变量及对象的引用问题!~ 大家对mse软件工程硕士的看法,评者有分 两个问题~~ 怎样使window.open不打开新的窗口? 在dos环境下的 dos 命令的编程? 请教如何用SendMessage向窗体发送键盘信息,比如我想发送一个组合键:ctrl+x,请教如何进行? 为什么我这一行的高度控制不了??? ----各位:::哪里有“河东狮吼”在线影院或下载啊,快点,女朋友要!!!! 请教各位老大,关于打印的问题 一个局域网ip的问题 哪有图像识别的资料? 终于离开了《传奇》,散分 如何做个调查系统??