以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]记录窗口中如何双击打开窗口  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103340)

--  作者:ajie5211
--  发布时间:2017/7/6 11:07:00
--  [求助]记录窗口中如何双击打开窗口
如题,表中设置了双击单元格打开一个窗口,但发现用记录窗口来填写或修改数据时,双击这个单元格时,窗口不会出来,是需要哪里设置吗?
--  作者:有点甜
--  发布时间:2017/7/6 11:22:00
--  

要给记录窗口绑定doubleclick事件

 

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

 


--  作者:ajie5211
--  发布时间:2017/7/6 13:54:00
--  

全局代码,表中的代码,窗口中的代码都复制进去了,发现只是双击不进入编辑状态而已,但双击下的代码没有执行,还是打不开要窗口。

我双击下的代码如下

If e.Col.Name = "现有总库存" Then
        e.Cancel = True
        Forms("金属同族库存详情").Show()
        Forms("金属同族库存详情").Text = e.Row("料号") & "同族库存详情"
        Dim lh As String = e.Row("料号")
        Dim cl As new List(of String)
        Dim zdcl As String
        Do  \'找到金属零件最下层物料料号
            cl = DataTables("BOM及材料库存").SQLGetValues("F257","F252 = \'" & lh & "\' and F128 = \'金属零件\'") \'找出下级物料有几个料号
            If cl.Count = 1 Then  \'金属零件料号赋予到金属成品料号中,准备下一循环
                lh = cl(0)
            Else If cl.Count > 1 Then  \'金属是组合件时直接跳到下一循环
                If Forms("金属同族库存详情").Opened = True Then
                    Forms("金属同族库存详情").Close()
                End If
                Return
            End If
        Loop While cl.Count > 0   \'金属无下级BOM时,说明已得到最下层物料料号
        Dim tzlhs As new List(of String)  \'定义同族料号集合
        tzlhs.Add(lh)   \'最底层金属物料料号加入同族集合
        Dim lstzs As new List(of String)
        lstzs = DataTables("BOM及材料库存").SQLGetValues("F252","F257 = \'" & lh & "\' and F250 = \'金属零件\'")  \'找出上级成品有几个料号
        For Each lstz As String In lstzs  \'上级成品料号加入同族集合
            If tzlhs.Contains(lstz) = False Then
                tzlhs.Add(lstz)
            End If
            Dim dgs As new List(of String)
            Functions.Execute("tzlhcz",dgs,tzlhs,lstz)  \'找出成品料号的上级成品料号加入同族
        Next
        Dim sss As String
        For Each tzlh As String In tzlhs
            sss = "\'" & tzlh & "\'," & sss
        Next
        sss = sss.TrimEnd(",")
        sss = "(" & sss & ")"
        DataTables("金属同族库存详情_Table1").LoadFilter = "F124 In " & sss
        DataTables("金属同族库存详情_Table1").Load
        With Tables("金属同族库存详情_Table1")
            .MergeMode = MergeModeEnum.Standard \'标准合并模式
            .MergeCols.Clear() \'清除原来的合并列
            .MergeCols.Add("产品料号") \'加入要合并的列
            .MergeCols.Add("产品名称")
            .MergeSort = "产品料号" \'设置合并模式下的排序方式
            .AllowMerge = True \'启用合并模式
            .Cols("现有库存").GrandTotal = True \'指定要合计的列
            .GrandTotal = True \'显示合计模式
            .AutoSizeRows
        End With
End If

[此贴子已经被作者于2017/7/6 13:54:54编辑过]

--  作者:有点甜
--  发布时间:2017/7/6 14:06:00
--  
 双击会触发 beforeDoubleClick 事件,你在那个事件的处理函数那里,写你对应的代码才行。
--  作者:有点甜
--  发布时间:2017/7/6 14:08:00
--  

 如

 

 

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


--  作者:ajie5211
--  发布时间:2017/7/6 14:12:00
--  
beforeDoubleClick 事件在哪?
--  作者:有点甜
--  发布时间:2017/7/6 14:13:00
--  
参考5楼