以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]为什么有的RecordGrid控件要点击两下才能选中 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99889) |
||||
-- 作者:jyh7081 -- 发布时间:2017/4/28 18:17:00 -- [求助]为什么有的RecordGrid控件要点击两下才能选中 窗口中的页面集合分别放入了多个RecordGrid控件,除第一个外,其余的都需要点击两次才能出现单元格选中框,是何原因? [此贴子已经被作者于2017/4/28 18:17:46编辑过]
|
||||
-- 作者:有点色 -- 发布时间:2017/4/28 18:32:00 -- 你的 RecordGrid 放在容器里面了?Tabcontrol?
做个例子上来 |
||||
-- 作者:jyh7081 -- 发布时间:2017/4/28 18:58:00 -- 对,Tabcontrol1的四个页面,各放了一个RecordGrid 。
可能是绑定表的afterselchang中这段事件代码,没包括RecordGrid2/3/4的原因:
If e.OldRange.ColSel <> e.NewRange.ColSel AndAlso e.NewRange.RowSel >= 0
以前用过的代码,注释掉以后就好了,谢谢版主!
[此贴子已经被作者于2017/4/28 20:19:24编辑过]
|
||||
-- 作者:jyh7081 -- 发布时间: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
附件:
|
||||
-- 作者:有点色 -- 发布时间:2017/5/3 16:03:00 -- If e.OldRange.ColSel <> e.NewRange.ColSel AndAlso e.NewRange.RowSel >= 0 If Forms("窗口1").Opened Dim rg As WinForm.RecordGrid = Forms("窗口1").Controls("RecordGrid" & (Forms("窗口1").Controls("TabControl2").selectedindex+1)) 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 End If End If |
||||
-- 作者:jyh7081 -- 发布时间: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)) |
||||
-- 作者:有点色 -- 发布时间:2017/5/4 15:29:00 -- 你的RecordGrid控件的名,要命名为 1、2、3 这样;
在TabControl控件里,1放在page1里,2放在page2里,3放在page3里,5楼的代码就不用改。 |
||||
-- 作者:有点色 -- 发布时间:2017/5/4 15:30:00 -- 如果你有多个需要联动,你就要拷贝多段,或者写成循环。 |