以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助记录窗口双击单元格事件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75144)

--  作者:pcxjxjhkw
--  发布时间:2015/9/28 16:17:00
--  [求助记录窗口双击单元格事件

动态绑定了记录窗口的双击事件

双击函数代码:

\'\'双击单元格事件    gr,gc,全局变量,进行单元格时所在的行和列

Dim sender As object = args(0)
Dim rgd As WinForm.RecordGrid = Forms("表格样式设置").Controls(sender.name)  \'\'    问题1: 红色部分改为:sender.From,但报错!!

If gr <> -1 And gc = 1 Then  \'\'如果双击的是第一列
    Dim nm As String = sender(gr,0)   \'\'标题名称
    If nm.Contains("+") = True Or nm.Contains("-") = True Then  \'\'如果是父行
        Functions.Execute("ShowHideRow",sender)   \'\'显示或隐藏子行
    Else  \'\'如果双击的子行
        Dim str  = rgd.Columns.Split("|")(gr)
        If   rgd.Table.Cols(str).IsBoolean = True  Then  \'\'如果是逻辑列
            sender(gr,1) = Not sender(gr,1)            问题2:要实现,双击单元格,如果是逻辑型,真假值互转,但未实现该目的 
        End If
    End If
End If

 

[此贴子已经被作者于2015/9/28 16:19:59编辑过]

--  作者:大红袍
--  发布时间:2015/9/28 16:24:00
--  

1、afterLoad事件记录一下窗口名。如 控件.BaseControl.Name = "表格样式设置"

 

2、弹出值看一下。


--  作者:pcxjxjhkw
--  发布时间:2015/9/28 16:27:00
--  

问题1,Sender所双击的控件,按道理讲,由控件可返回所在的窗口呀

问题2,未弹出错误,用msgbox检查能通过,就是不能赋值。

[此贴子已经被作者于2015/9/28 16:27:01编辑过]

--  作者:大红袍
--  发布时间:2015/9/28 16:29:00
--  

1、不行;

 

2、本来双击就是切换的。不用写代码。msgbox看值,或者直接赋值。


--  作者:pcxjxjhkw
--  发布时间:2015/9/28 16:44:00
--  

2,双击无法切换值,我是想进一步实现,下拉列表值中有多个值,双击单元格可以依次切换值

 

双击单元格后,进入单元格编辑状态了

[此贴子已经被作者于2015/9/28 16:45:06编辑过]

--  作者:大红袍
--  发布时间:2015/9/28 16:47:00
--  

你cancel掉啊。

 

 下载信息  [文件大小:320.0 KB  下载次数:7]
图片点击可在新窗口打开查看点击浏览该文件:beforedoubleclick事件.table

 


--  作者:pcxjxjhkw
--  发布时间:2015/9/28 17:01:00
--  
cancel掉后,下拉列表又无法打开!
--  作者:大红袍
--  发布时间:2015/9/28 17:05:00
--  

可以啊,看6楼啊。