Foxtable(狐表)用户栏目专家坐堂 → 鼠标在表格上移动前如何先激活


  共有2675人关注过本帖树形打印复制链接

主题:鼠标在表格上移动前如何先激活

帅哥哟,离线,有人找我吗?
zhangchi96
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
鼠标在表格上移动前如何先激活  发帖心情 Post By:2017/11/15 10:43:00 [只看该作者]

我在表的属性MouseEnterCall里设置了一下代码:

 

Dim z1() As String = { "周1_1","周1_2","周1_3","周1_4","周1_5","周1_6","周1_7","周2_1","周2_2","周2_3","周2_4","周2_5","周2_6","周2_7","周3_1","周3_2","周3_3","周3_4","周3_5","周3_6","周3_7","周4_1","周4_2","周4_3","周4_4","周4_5","周4_6","周4_7","周5_1","周5_2","周5_3","周5_4","周5_5","周5_6","周5_7" }
For Each dc0  As String In z1
      Dim dr As DataRow
     dr = DataTables("网络教师课务明细表").Find( " [班级] = '" & e.Row("班级") & "' and [学科] = '"& e.Row( dc0 ) &"' ")

    If e.Col.Name = dc0 AndAlso e.Row.IsNull( dc0 ) = False Then
        e.Table.ShowToolTip( e.Row("班级") & "班 " & e.Row( dc0 ) & " " & dr("实际_姓名"),e.Row,e.Col)   ' 在鼠标停留的时候就看到完整信息
    End If
Next

 

1、实际运行无误,

 

2、在窗体把鼠标移动到表上时,首先在表上先任意点击一下,才能显示

 

3、如果去点击了其他控件后还要再点击一下,而且是在鼠标点击的时候还写了其他代码,这些代码会引起表格的内容发生变化

 

请教老师,这是不是因为表不在激活状态?

 

 

[此贴子已经被作者于2017/11/15 10:43:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/15 11:33:00 [只看该作者]

表格drawcell事件

 

Dim ary() As String = e.Table.name.Split("_")
If ary.length = 2 AndAlso forms(ary(0)).ActiveControl IsNot Nothing AndAlso forms(ary(0)).ActiveControl.name <> ary(1) Then
    forms(ary(0)).controls(ary(1)).Select
End If


 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2017/11/15 23:10:00 [只看该作者]

运行没有用,请问 e.Table.name.Split("_") ,这里为什么要对表名拆分呢?含有“_”的是列名,如"周1_2"

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/15 23:15:00 [只看该作者]

那你窗口的表是不是副本表?具体做个例子发上来测试。

 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2017/11/15 23:22:00 [只看该作者]

不是副本表。

 

1、 e.Table.name.Split("_")  是不是该写成  e.col.name.Split("_")  ?

 

2、 如果上面的设想成立的话,forms(ary(0)).controls(ary(1)).Select  在某一情况下 是  forms(“周1”).controls(1).Select 这个表示哪个控件啊?



[此贴子已经被作者于2017/11/15 23:22:50编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2017/11/15 23:36:00 [只看该作者]

我把代码都去了,直接写成:e.Table.Select  ,运行时有用了

 

Dim ary() As String = e.col.name.Split("_")
If ary.length = 2 AndAlso forms(ary(0)).ActiveControl IsNot Nothing AndAlso forms(ary(0)).ActiveControl.name <> ary(1) Then
    e.Table.Select 
End If
 
还是担心那么简单会出现问题,要不要把上面的红色部分修改一下?

[此贴子已经被作者于2017/11/16 8:14:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2017/11/16 8:15:00 [只看该作者]

直接写成:e.Table.Select  还是出问题了,在窗体中,鼠标会一直选定这个表的某一单元格,移动窗体的其他表中操作都无效了

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/16 8:47:00 [只看该作者]

以下是引用zhangchi96在2017/11/16 8:15:00的发言:
直接写成:e.Table.Select  还是出问题了,在窗体中,鼠标会一直选定这个表的某一单元格,移动窗体的其他表中操作都无效了

 

实例发上来测试。

 

别的表格的drawcell事件也要写代码。


 回到顶部