以文本方式查看主题

-  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=94900)

--  作者:jackpotgang
--  发布时间:2017/1/4 21:45:00
--  传统编辑方式问题
1.做了一个主窗体,主窗体中插入表(主表)。
2.做了一个编辑窗体。
3.打开主窗体,双击主窗体中的表(主表)。 可以弹出编辑窗体,但是主窗体关闭了,跳到了主表界面。     是参照实例中传统编辑方式 做的。 

--  作者:有点蓝
--  发布时间:2017/1/5 8:39:00
--  
上传实例看看
--  作者:有点色
--  发布时间:2017/1/5 9:58:00
--  

1、你的编辑窗口是不是也用了table控件,而且也是直接绑定主表?

 

2、doubleclick事件,你是不是写了关闭主窗口的代码?

 

3、做个例子发上来看看。


--  作者:jackpotgang
--  发布时间:2017/1/5 12:40:00
--  

窗口表事件

 

窗口与控件事件

 

主窗体_AfterLoad

 

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")

trv.BuildTree("sjb_xmzb", "专业|负责人")

trv.Nodes.Insert("显示所有行",0)

 

Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView2")

trv1.BuildTree("sjb_xmzb", "专业|区域")

trv1.Nodes.Insert("显示所有行",0)

 

主窗体_TreeView1_NodeMouseDoubleClick

 

Dim Filter As String

Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的行

If e.Node.Text <> "显示所有行" Then

    Select Case e.Node.Level

        Case 0

            Filter = "[专业] = \'" & dr("专业") & "\'"

        Case 1

            Filter = "[专业] = \'" & dr("专业") & "\' And [负责人] = \'" & dr("负责人") & "\'"

           End Select

End If

Tables("sjb_xmzb").Filter = Filter

 

主窗体_TreeView2_NodeMouseDoubleClick

 

Dim Filter As String

Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的行

If e.Node.Text <> "显示所有行" Then

    Select Case e.Node.Level

        Case 0

            Filter = "[专业] = \'" & dr("专业") & "\'"

        Case 1

            Filter = "[专业] = \'" & dr("专业") & "\' And [区域] = \'" & dr("区域") & "\'"

           End Select

End If

Tables("sjb_xmzb").Filter = Filter


--  作者:jackpotgang
--  发布时间:2017/1/5 12:41:00
--  

窗口表事件

 

窗口与控件事件

 

编辑窗体_AfterLoad

 

For Each frm As WinForm.Form In Forms \'关闭本表其他窗口

    If frm.TableName = e.Form.TableName AndAlso frm.Opened Then

        If frm.Name <> e.Form.Name Then

            frm.Close

        End If

    End If

Next

 

编辑窗体_Button5_Click

 

With Tables("sjb_xmzb")

    .Position = .Position - 1

End With

 

编辑窗体_Button6_Click

 

With Tables("sjb_xmzb")

    .Position = .Position + 1

End With

 

编辑窗体_Button7_Click

 

CurrentTable.AddNew()

 

编辑窗体_Button8_Click

 

DataTables("sjb_xmzb").Save()

 

 


--  作者:有点色
--  发布时间:2017/1/5 14:10:00
--  

你这段代码,把其余的窗口都关闭了。

 

For Each frm As WinForm.Form In Forms \'关闭本表其他窗口

    If frm.TableName = e.Form.TableName AndAlso frm.Opened Then

        If frm.Name <> e.Form.Name Then

            frm.Close

        End If

    End If

Next


--  作者:jackpotgang
--  发布时间:2017/1/5 16:34:00
--  
谢谢  已经解决。 眼神不好 没看见这个代码。哈哈