以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  动态增加控件  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=75900)

--  作者:kaituozhe
--  发布时间:2015/10/17 8:19:00
--  动态增加控件
你好,已经晚了,没有试完,还是不行,在产品表中已没有了load方式代码,还是在高级筛选关闭时提示同样的错误,不知道该怎么解决,例子已上传你看一下吧
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:产品5.zip


--  作者:Hyphen
--  发布时间:2015/10/17 12:14:00
--  
窗口类型不要设置为主窗口
--  作者:大红袍
--  发布时间:2015/10/18 12:17:00
--  

代码

 

If Typeof e.sender Is winform.Button Then
    If e.sender.name Like "关闭_*" Then
        Dim tab As WinForm.TabControl = e.Form.controls("tabcontrol1")
        e.Form.RemoveControl("t" & tab.SelectedPage.Name)
        tab.TabPages.Delete(tab.SelectedIndex)
    Else
        Dim dr As DataRow = DataTables("高级筛选").find("筛选名称= \'" & e.sender.Name & "\'")
        If dr IsNot Nothing Then
            Dim tab As WinForm.TabControl = e.Form.controls("tabcontrol1")
            Dim p As Winform.TabPage
            If tab.TabPages.contains(e.sender.name) = False Then
                p = tab.TabPages.Add(e.Sender.name, e.sender.Name)
                Dim tbl As WinForm.Table
                tbl = e.Form.CreateSQLQuery("t" & e.sender.name, "Select * F rom {订单} where 1=2","产品")
                tbl.SetBounds(10, 50, 600, 400)
                p.AddControl(tbl)
               
                Dim ctl =e.Form.createcontrol("关闭_" & e.sender.name,controltypeenum.button)
                ctl.text = "关闭"
                ctl.left = 0
                ctl.Top = 0
                ctl.font = new font("黑体",15)
                p.AddControl(ctl)
            Else
                p = tab.TabPages(e.sender.name)
            End If
            Functions.remove("函数")
            Dim Code As String
            Code = dr("筛选条件")
            Code = "Tables(""高级筛选_t" & e.sender.name & """).DataTable.Loadfilter = """ & dr("筛选条件") & """" & vbcrlf
            Code &= "Tables(""高级筛选_t" & e.sender.name & """).DataTable.Load"
            Functions.Add("函数",Code)
            Functions.Complie()
            Functions.Execute("函数")
            tab.SelectedPage = p
        End If
    End If
End If


--  作者:kaituozhe
--  发布时间:2015/10/18 14:25:00
--  

红袍老师,代码换了还是不行,还是同样的问题,是否是这个窗口只要放在主窗口就会发生这样的问题呢


--  作者:大红袍
--  发布时间:2015/10/18 14:27:00
--  

 

[此贴子已经被作者于2015/10/18 14:27:54编辑过]

--  作者:大红袍
--  发布时间:2015/10/18 14:37:00
--  
菜单事件SystemIdle事件的代码去掉。
--  作者:kaituozhe
--  发布时间:2015/10/18 14:45:00
--  
会影响项目的执行吗
--  作者:大红袍
--  发布时间:2015/10/18 14:45:00
--  
不会
--  作者:kaituozhe
--  发布时间:2015/10/18 14:51:00
--  
好的,可以了,谢谢
--  作者:kaituozhe
--  发布时间:2015/10/19 20:35:00
--  
菜单事件SystemIdle事件的代码去掉。去掉这些代码以后,有些功能就不能用了,比如在表中选择范围内数据自动计算并在右下角显示就不能用了,怎么办?想一下还有其他法没有了。