Foxtable(狐表)用户栏目专家坐堂 → 不能变更表抬头


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

主题:不能变更表抬头

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


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
不能变更表抬头  发帖心情 Post By: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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/26 14:55:00 [只看该作者]

加上代码

 

dt.DataTable.BuildHeader

 

http://www.foxtable.com/webhelp/scr/1275.htm

 


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


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2018/6/26 15:30:00 [只看该作者]

works,
thanks

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


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/27 10:01:00 [只看该作者]

弹出一下表名看看,如

 

For Each dt In DataTables

    msgbox(dt.name) '能否弹出统计表?

[此贴子已经被作者于2018/6/27 10:01:12编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2018/6/27 10:50:00 [只看该作者]

有的。

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


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By: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'.

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/27 11:03:00 [只看该作者]

你masterdata表格的数据保存一下,再用SQLFind测试看行不行

 

 


 回到顶部
总数 18 1 2 下一页