**************100分,关于DataGrid控件*******************

sxhv998 2003-11-02 08:43:43
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
...全文
69 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhjjhjhj 2003-11-02
  • 打赏
  • 举报
回复
改用mousedown或mouseup事件
Click事件会被单元格抢先吸收。
胖河马 2003-11-02
  • 打赏
  • 举报
回复
方法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
daymj 2003-11-02
  • 打赏
  • 举报
回复
Private Sub DataGrid1_Click()
rs.bookmark=datagrid1.bookmark
Text1.Text = rs!员工编号
End Sub

其实是定义为双击事件更有效
下载代码方式:https://pan.quark.cn/s/a4b39357ea24 依据所提供的资料,我们深入剖析此问题以及所给出的两种算法方案。 ### 问题背景 该问题源自王晓东编撰的《算法设计与实验题解》一书,书中阐述了一个值得注意的数学议题:针对一本页码从1到n顺序编号的书籍,要求统计所有页码中数字0至9各自出现的频次。例如,若n=13,则页码序列为1、2、...、13,其中数字1出现5次(体现在1、10、11、12、13中),数字0出现1次(体现在10中)。 ### 问题描述 具体而言,我们需要开发一种算法,其输入参数为一个正整数n,输出结果需为0至9这十个数字各自出现的频次。所有页码均以十进制形式呈现,且不包含任何前导零,即不会出现如006之类的页码表示。 ### 解决方案一:时间复杂度为O(n*log10(n))的算法 首先,介绍一种时间复杂度为O(n*log10(n))的算法实现。其核心构思在于遍历从1到n的每一个数值,然后逐一解每个数值的各个位,并统计各类数字出现的频次。具体步骤如下: 1. 初始化一个长度为10的数组`count`,用于记录0至9每个数字出现的频次,初始值均为0。 2. 从1开始遍历至n,对于每一个数值i,将其转换为整数并进行以下操作: - 利用循环结构,持续将当前数值除以10,获取余数(即当前最低位的数字),并累加到对应的计数器中。 3. 遍历完成后,输出`count`数组中的每一个元素,即为所求的结果。 ### 解决方案二:优化算法 为了提升效率,提出了一种更为优越的算法。该算法基于以下观察:在1到10^n-1之间的任意区间内,每一种数字0至9出现的频次是相等的。例如,在1到999之间,每一种数字0至9出现的频次均相...

7,788

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧