Foxtable(狐表)用户栏目专家坐堂 → 传统编辑方式问题


  共有2267人关注过本帖树形打印复制链接

主题:传统编辑方式问题

帅哥哟,离线,有人找我吗?
jackpotgang
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:60 积分:597 威望:0 精华:0 注册:2016/10/24 17:35:00
传统编辑方式问题  发帖心情 Post By:2017/1/4 21:45:00 [只看该作者]

1.做了一个主窗体,主窗体中插入表(主表)。
2.做了一个编辑窗体。
3.打开主窗体,双击主窗体中的表(主表)。 可以弹出编辑窗体,但是主窗体关闭了,跳到了主表界面。     是参照实例中传统编辑方式 做的。 

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106105 积分:539636 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/1/5 8:39:00 [只看该作者]

上传实例看看

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/5 9:58:00 [只看该作者]

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

 

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
jackpotgang
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:60 积分:597 威望:0 精华:0 注册:2016/10/24 17:35:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:60 积分:597 威望:0 精华:0 注册:2016/10/24 17:35:00
  发帖心情 Post By: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()

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:60 积分:597 威望:0 精华:0 注册:2016/10/24 17:35:00
  发帖心情 Post By:2017/1/5 16:34:00 [只看该作者]

谢谢  已经解决。 眼神不好 没看见这个代码。哈哈

 回到顶部