以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 传统编辑方式问题 (http://foxtable.net/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 -- 谢谢 已经解决。 眼神不好 没看见这个代码。哈哈 |