以文本方式查看主题

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

--  作者:kmzb56
--  发布时间:2018/11/25 21:49:00
--  页面集合上复制控件
  一个页面集合上做了很多个页面,每个页面做了好多个控件,现在是想在另一个页面上做控件,能不能快速复制的方式把第一个页面的复制到另一个页面?
--  作者:有点甜
--  发布时间:2018/11/25 22:54:00
--  

 

没办法,foxtable暂时没有多个控件一起复制的功能。只能一个一个的复制。

 

[此贴子已经被作者于2018/11/25 22:53:46编辑过]

--  作者:kmzb56
--  发布时间:2018/11/26 12:07:00
--  
有其它办法没?我有十多个分页,下面那个,删除,查询,其它功能等,除了副表不一样外,其它都一样,每个都去弄好麻烦呀,有其它巧办法没?
--  作者:有点甜
--  发布时间:2018/11/26 12:11:00
--  
以下是引用kmzb56在2018/11/26 12:07:00的发言:
有其它办法没?我有十多个分页,下面那个,删除,查询,其它功能等,除了副表不一样外,其它都一样,每个都去弄好麻烦呀,有其它巧办法没?

 

1、你不可以把公共的部分,放在外面?为什么要重复?

 

2、没办法,无法多个一起复制。


--  作者:kmzb56
--  发布时间:2018/11/26 12:34:00
--  
放外面?这个思路应该也可以,这样的话,那我代码部分得根据当前页面对应的副表变化而变化,那我想问一下,怎么返回表名?或页面标题名?放在代码里。
--  作者:有点甜
--  发布时间:2018/11/26 14:53:00
--  
以下是引用kmzb56在2018/11/26 12:34:00的发言:
放外面?这个思路应该也可以,这样的话,那我代码部分得根据当前页面对应的副表变化而变化,那我想问一下,怎么返回表名?或页面标题名?放在代码里。

 

1、你可以根据选定的页面编写代码,如

 

Dim tab As WinForm.TabControl = e.Form.controls("TabControl1")
If tab.SelectedPage.name = "page1" Then

 

ElseIf tab.SelectedPage.name = "page2" Then

 

End If

 

2、你可以判断当前表写代码,如

 

If currentTable.name = "表A" Then

 

ElseIf currentTable.name = "表B" Then

 

End If


--  作者:kmzb56
--  发布时间:2018/11/27 22:56:00
--  
Dim tab As WinForm.TabControl = e.Form.controls("TabControl1")
If tab.SelectedPage.name = "TabControl1" Then
Tables("收付款帐户_table1").AddNew()
End If 
If tab.SelectedPage.name = "TabControl2" Then
Tables("收付款帐户_table2").AddNew()
End If
If tab.SelectedPage.name = "TabControl3" Then
Tables("收付款帐户_table3").AddNew()
End If
If tab.SelectedPage.name = "TabControl4" Then
Tables("收付款帐户_table4").AddNew()
End If
If tab.SelectedPage.name = "TabControl5" Then
Tables("收付款帐户_table5").AddNew()
End If
If tab.SelectedPage.name = "TabControl6" Then
Tables("收付款帐户_table6").AddNew()
End If
If tab.SelectedPage.name = "TabControl7" Then
Tables("收付款帐户_table7").AddNew()
End If
If tab.SelectedPage.name = "TabControl8" Then
Tables("收付款帐户_table8").AddNew()
End If
If tab.SelectedPage.name = "TabControl9" Then
Tables("收付款帐户_table9").AddNew()
End If
If tab.SelectedPage.name = "TabControl10" Then
Tables("收付款帐户_table10").AddNew()
End If
If tab.SelectedPage.name = "TabControl11" Then
Tables("收付款帐户_table11").AddNew()
End If
If tab.SelectedPage.name = "TabControl12" Then
Tables("收付款帐户_table12").AddNew()
End If
If tab.SelectedPage.name = "TabControl13" Then
Tables("收付款帐户_table13").AddNew()
End If


有更简洁点的语句没?好像这种也存在没有值的情况,不知怎么是最好的?

--  作者:有点蓝
--  发布时间:2018/11/27 23:00:00
--  
利用空间命名规则处理,3行代码即可

Dim tab As WinForm.TabControl = e.Form.controls("TabControl1")
Dim i As String = tab.SelectedPage.name.Replace("TabControl","")
Tables("收付款帐户_table" & i).AddNew()

[此贴子已经被作者于2018/11/27 22:59:56编辑过]

--  作者:kmzb56
--  发布时间:2018/11/29 10:12:00
--  
这个方法超好用,太感谢了!省了我好多事,


但我想
Dim tab As WinForm.TabControl = e.Form.controls("TabControl1")
Dim i As String = tab.SelectedPage.name.Replace("TabControl","")
Dim r As Row=Tables("收付款帐户_table" & i).current
Dim dr As Row=Tables("派车记录表.付司机款记录").Current
r("说明")=dr("付款备注")
dr("付款金额")=r("支出")
dr("付款方式")="   "    这里想用页面集合的分页名代替,或者用对应的副表的表名代替,请问怎么弄?试了几下都不行


请问怎么弄?


--  作者:有点甜
--  发布时间:2018/11/29 10:29:00
--  

 

dr("付款方式")=tab.SelectedPage.text