以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教:能否动态设置AfterSelRangeChange事件代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=95870)

--  作者:bahamute
--  发布时间:2017/2/7 15:48:00
--  请教:能否动态设置AfterSelRangeChange事件代码

窗口表操作


目录树筛选时每次都从后台查询数据,然后给窗口表绑定数据源。


每次绑定数据源,都会导致在窗口表的 AfterSelRangeChange 事件里设置的代码报错


请教是否能够动态设置窗口表的AfterSelRangeChange 事件代码?


或者有其他避免出错的方法?



[此贴子已经被作者于2017/2/7 15:48:17编辑过]

--  作者:有点色
--  发布时间:2017/2/7 15:49:00
--  

参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=95639&skin=0

 


--  作者:bahamute
--  发布时间:2017/2/7 16:02:00
--  
用这个方法不管事,还是报错。
Tables("窗口1_Table1").Select(-1, -1)
--  作者:有点色
--  发布时间:2017/2/7 16:03:00
--  
 那就修改系统菜单的 AfterSelRangeChange 事件。
--  作者:bahamute
--  发布时间:2017/2/7 16:04:00
--  
在 t.datasource=dt 之前设置t.Select(-1, -1) 无效果
--  作者:bahamute
--  发布时间:2017/2/7 16:06:00
--  
请问:单击窗口表头触发什么事件?
--  作者:有点色
--  发布时间:2017/2/7 16:10:00
--  
以下是引用bahamute在2017/2/7 16:06:00的发言:
请问:单击窗口表头触发什么事件?

 

不触发任何事件。如果选中了所有行,就会触发行选择事件。


--  作者:bahamute
--  发布时间:2017/2/7 16:22:00
--  
我用的自定义菜单
修改AfterSelRangeChange事件 为以下代码好像无效

 

Dim t As Table

RibbonMenu.StatusBar.Message3 = ""

Vars("SysUpdateAggregate") = False

If e.Table IsNot CurrentTable OrElse CurrentTable Is Nothing Then

    Return

Else

    t = CurrentTable

End If

If t.TopRow = t.BottomRow AndAlso t.LeftCol = t.RightCol Then

    Return

End If

For c As Integer = t.LeftCol To t.RightCol

    If C > 0 Then

        If t.Cols(c).IsNumeric = False Then

            Return

        End If

    End If

Next

Vars("SysUpdateAggregate") =  True


--  作者:有点色
--  发布时间:2017/2/7 16:27:00
--  
 把AfterSelRangeChange事件代码去掉也不行?那上传实例说明。
--  作者:bahamute
--  发布时间:2017/2/7 16:43:00
--  
用此参数解决问题。
Tables("窗口1_Table1").Select(0, 0)