以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 不能变更表抬头 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=120924) |
-- 作者:lur320 -- 发布时间:2018/6/26 13:48:00 -- 不能变更表抬头 在afteropernproject,最后有这个代码,来根据窗口选择中文还是英文来改变表的caption。 但是不起作用,只有部分表改变了标题。 是不是 使用界面风格会阻止改变标题? 另外在运行过程中,手动运行这个窗口也无法改变表头。 Dim dt As Table Dim dc As Col Dim dr As DataRow For Each dt In Tables For Each dc In dt.Cols dr=DataTables("masterdata").SQLFind("titleaddress = \'" & dc.Name & "\' and tableaddress = \'" & dt.name & "\'") If dr IsNot Nothing AndAlso dr.IsNull("Etitle")=False Then dc.Caption=dr("Etitle") End If Next Next e.Form.Close |
-- 作者:有点甜 -- 发布时间:2018/6/26 14:55:00 -- 加上代码
dt.DataTable.BuildHeader
http://www.foxtable.com/webhelp/scr/1275.htm
|
-- 作者:lur320 -- 发布时间:2018/6/26 15:30:00 -- works, thanks
|
-- 作者:lur320 -- 发布时间:2018/6/27 9:57:00 -- 还有一些小问题, 有一个datatable是在afterprojectopen后,通过代码创建的临时表。 然后通过打开窗口来让用户选择语言。 此时我已经历遍datatable,但是不能修改这个表格的抬头。 ------------------afterprojectopen-------------------- Dim dtb As New DataTableBuilder("计划") dtb.AddDef("日期", Gettype(Date)) dtb.AddDef("总数", Gettype(Integer)) dtb.AddDef("数量", Gettype(Integer)) dtb.AddDef("编号", Gettype(String),100) dtb.AddDef("国家", Gettype(String),100) dtb.AddDef("产品类型", Gettype(String),100) dtb.AddDef("描述一", Gettype(String),100) dtb.AddDef("描述二", Gettype(String),100) dtb.Build() Forms("titleCorE").open ---------------Forms(“titleCorE”)中的按钮代码------------ Dim dt As DataTable Dim dc As DataCol Dim dr As DataRow For Each dt In DataTables For Each dc In dt.DataCols dr=DataTables("masterdata").SQLFind("titleaddress = \'" & dc.Name & "\' and tableaddress = \'" & dt.name & "\'") If dr IsNot Nothing AndAlso dr.IsNull("Etitle")=False Then dc.Caption=dr("Etitle") dt.BuildHeader End If Next Next |
-- 作者:lur320 -- 发布时间:2018/6/27 10:00:00 -- 刚测试了下,即使项目完全打开,把下面的代码切到系统界面的命令窗口,依旧不能改变临时表的caption。 Dim dt As DataTable Dim dc As DataCol Dim dr As DataRow For Each dt In DataTables For Each dc In dt.DataCols dr=DataTables("masterdata").SQLFind("titleaddress = \'" & dc.Name & "\' and tableaddress = \'" & dt.name & "\'") If dr IsNot Nothing AndAlso dr.IsNull("Etitle")=False Then dc.Caption=dr("Etitle") dt.BuildHeader End If Next Next [此贴子已经被作者于2018/6/27 9:59:58编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/6/27 10:01:00 -- 弹出一下表名看看,如
For Each dt In DataTables msgbox(dt.name) \'能否弹出统计表? [此贴子已经被作者于2018/6/27 10:01:12编辑过]
|
-- 作者:lur320 -- 发布时间:2018/6/27 10:50:00 -- 有的。 |
-- 作者:lur320 -- 发布时间:2018/6/27 10:54:00 -- 奇怪了,我把SQLfind改为find就OK了。 后台数据是有的,为啥SQLfind就查不出临时表的数据? Dim dt As DataTable Dim dc As DataCol Dim dr As DataRow For Each dt In DataTables If dt.name="已排计划" Then For Each dc In dt.DataCols dr=DataTables("masterdata").Find("titleaddress = \'" & dc.Name & "\' and tableaddress = \'" & dt.name & "\'") If dr IsNot Nothing AndAlso dr.IsNull("Etitle")=False Then Output.Show(dr("Etitle")) dc.Caption=dr("Etitle") dt.BuildHeader Else Output.Show(1) End If Next End If Next |
-- 作者:lur320 -- 发布时间:2018/6/27 10:58:00 -- 我把命令改为SQLFIND,然后通过执行SQL命令,报错: Dim dt As DataTable Dim dc As DataCol Dim dr As DataRow For Each dt In DataTables If dt.name="已排计划" Then For Each dc In dt.DataCols dr=DataTables("masterdata").SQLFind("[titleaddress] = \'" & dc.Name & "\' AND [tableaddress] = \'" & dt.name & "\'") If dr IsNot Nothing AndAlso dr.IsNull("Etitle")=False Then Output.Show(dr("Etitle")) dc.Caption=dr("Etitle") dt.BuildHeader Else Output.Show(1) End If Next End If Next An expression of non-boolean type specified in a context where a condition is expected, near \'Next\'. An expression of non-boolean type specified in a context where a condition is expected, near \'End\'. An expression of non-boolean type specified in a context where a condition is expected, near \'IsNot\'. Incorrect syntax near the keyword \'Then\'. Incorrect syntax near the keyword \'As\'. |
-- 作者:有点甜 -- 发布时间:2018/6/27 11:03:00 -- 你masterdata表格的数据保存一下,再用SQLFind测试看行不行
|