Foxtable(狐表)用户栏目专家坐堂 → [求助]为什么有的RecordGrid控件要点击两下才能选中


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

主题:[求助]为什么有的RecordGrid控件要点击两下才能选中

帅哥,在线噢!
jyh7081
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:960 积分:8478 威望:0 精华:0 注册:2012/10/3 13:25:00
[求助]为什么有的RecordGrid控件要点击两下才能选中  发帖心情 Post By:2017/4/28 18:17:00 [显示全部帖子]

窗口中的页面集合分别放入了多个RecordGrid控件,除第一个外,其余的都需要点击两次才能出现单元格选中框,是何原因?
[此贴子已经被作者于2017/4/28 18:17:46编辑过]

 回到顶部
帅哥,在线噢!
jyh7081
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:960 积分:8478 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2017/4/28 18:58:00 [显示全部帖子]

对,Tabcontrol1的四个页面,各放了一个RecordGrid

 

可能是绑定表的afterselchang中这段事件代码,没包括RecordGrid2/3/4的原因

 

If e.OldRange.ColSel <> e.NewRange.ColSel AndAlso e.NewRange.RowSel >= 0
    If Forms("记录窗口录入").Opened
            Dim rg As WinForm.RecordGrid = Forms("记录窗口录入").Controls("RecordGrid1")
            rg.Select()
            Dim rgb  = rg.BaseControl
            Dim cname As String = e.Table.Cols(e.NewRange.ColSel).Name
            For i As Integer = 0 To rgb.Rows.count-1
                If rgb(i, 0) = cname Then
                    rgb.Select(i, 1)
                End If
            Next
        Next
    End If

 

以前用过的代码,注释掉以后就好了,谢谢版主!

 

[此贴子已经被作者于2017/4/28 20:19:24编辑过]

 回到顶部
帅哥,在线噢!
jyh7081
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:960 积分:8478 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2017/5/3 15:50:00 [显示全部帖子]

老师,我做了个例子,就是我一楼说的问题:窗口页面集合中的page1,要点击2次记录窗口才能出现焦点框,page2只需要一次。
表A的AfterSelChange代码:

If e.OldRange.ColSel <> e.NewRange.ColSel AndAlso e.NewRange.RowSel >= 0
    If Forms("窗口1").Opened
        For i As Integer = 1 To 2 
            Dim rg As WinForm.RecordGrid = Forms("窗口1").Controls("RecordGrid" & i)
            rg.Select()
            Dim rgb  = rg.BaseControl
            Dim cname As String = e.Table.Cols(e.NewRange.ColSel).Name
            For i2 As Integer = 0 To rgb.Rows.count-1
                If rgb(i2, 0) = cname Then
                    rgb.Select(i2, 1)
                End If
            Next
        Next
    End If
End If

附件:
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:记录窗口目录.table


 回到顶部
帅哥,在线噢!
jyh7081
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:960 积分:8478 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2017/5/4 14:27:00 [显示全部帖子]

版主,假如这个窗口中有两个页面集合 TabControl2、TabControl3,相互联动,上面的第三行代码这样改怎么不行?

 

Dim rg As WinForm.RecordGrid = Forms("窗口1").Controls("RecordGrid" & (Forms("窗口1").Controls("TabControl2" or ”TabControl3”).selectedindex+1))


 回到顶部