以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问如何通过代码设置“打印设置"中的相关项目  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=80563)

--  作者:lake163
--  发布时间:2016/1/26 11:40:00
--  请问如何通过代码设置“打印设置"中的相关项目
在FT中,不通过报表方式而直接打印表时,相关设置在”打印设置“中进行,比如打印标题、副标题、页脚、打印选项等。
可有时一个表格需要多种设置,每次都需要调整。请问能否通过代码设置这些内容?

--  作者:Hyphen
--  发布时间:2016/1/26 14:26:00
--  
参考:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=72808
--  作者:lake163
--  发布时间:2016/1/26 17:12:00
--  
根据提供的贴子里的提示,想编一段代码,获取当前表的当前打印设置,并保存到一个表中,以供需要时调用。
首先建立一个“打印设置”表,其中列为前面贴子中提到的打印参数名,如title,subtitle等,第一、二列用于保存表名等。
                Dim nma1 As new List(Of String)   
                For Each c As DataCol In DataTables("打印设置").datacols   \'获取“打印设置”表的列名,即打印参数
                    nma1.add(c.Name)
                Next
                Dim nma  =nma1.ToArray()   \'转成数组
                Dim dr As DataRow = DataTables("打印设置").AddNew    \'新增一行
                Dim t As Table = CurrentTable    \'获取当前表
                Dr("table")= t.name    \'第一列用于保存表名
                For j As Integer = 2 To nma.Length - 1   \'第一.二列用于保存表名,所以从3开始
                    dr(nma(j)) = t.PrintInfo.&nma(j)
                Next

关键是不知   t.PrintInfo.&nma(j)  如何替换,也就是数组中的列名如何和  t.PrintInfo 组合
还有就是表中的列的类型 是否要设置
请指点
[此贴子已经被作者于2016/1/26 17:17:26编辑过]

--  作者:大红袍
--  发布时间:2016/1/26 22:45:00
--  

参考代码

 

Dim t As Table = CurrentTable
Dim tp = t.PrintInfo
Dim pi = tp.Gettype.getProperty("Title")
msgbox(pi.GetValue(tp, Nothing))