Foxtable(狐表)用户栏目专家坐堂 → 如何获取A表字段内容来作为创建B临时表的字段名


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

主题:如何获取A表字段内容来作为创建B临时表的字段名

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


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
如何获取A表字段内容来作为创建B临时表的字段名  发帖心情 Post By:2023/2/7 18:56:00 [只看该作者]

拜请教专家:
如何获取A表字段内容来作为创建B临时表的字段名,并创建一个B临时表

一、条件:
A表有个字段“产品名称”,里面有内容 “电脑、电视、电话、冰箱

二、需求:
需要创建一个B临时表,
    每次打开应用界面时,B临时表的字段数量,会随着 A表 产品名称内容增加而增加;
   以这样的形式来创建一个空白表B临时表
   然后这个B临时表,可以被操作,不需要保存!

请教专家指点具体代码,
感谢感谢!


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/7 20:21:00 [只看该作者]


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


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
临时表问题再请教  发帖心情 Post By:2023/2/8 0:02:00 [只看该作者]

我通过学习http://www.foxtable.com/webhelp/topics/0679.htm,制作生成的临时表,
出现的现象是:在设计窗口的Table1 里面只有”标题“,没有内容
临时表的标题和内容都保存在后台去了,
请教需要如何解决?
动态表生成代码如下:
Dim dtb As New DataTableBuilder("TabB")
dtb.Clear
dtb.AddDef("itemID", GetType(Integer), 8, "", "产品_配件_ID") '定义新表的标题
For Each v As String In DataTables("product_platform").sqlGetValues("plan_name_spec")
    dtb.AddDef(v, GetType(String), 1) '用平台名称内容来作为临时表的标题
Next
dtb.Build()
'----------字段名称加载完成
For Each v As Integer In DataTables("Product_PartList").GetValues("itemID")
    Dim dr1 As Row = Tables("TabB").AddNew()
    dr1("itemID") = v '把配件名称中的ItmeID内容写入临时表的ItemID 字段
Next
MainTable = Tables("TabB")
Tables(e.Form.Name & "_Table1").DataSource = dtb.BuildDataSource()
[此贴子已经被作者于2023/2/8 23:01:08编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/8 8:34:00 [只看该作者]

Dim dtb As New DataTableBuilder("TabB")
dtb.AddDef("itemID", GetType(Integer), 8, "", "产品_配件_ID") '定义新表的标题
For Each v As String In DataTables("product_platform").sqlGetValues("plan_name_spec")
    dtb.AddDef(v, GetType(String), 1) '用平台名称内容来作为临时表的标题
Next
Tables(e.Form.Name & "_Table1").DataSource = dtb.BuildDataSource()
'----------字段名称加载完成
For Each v As Integer In DataTables("Product_PartList").GetValues("itemID")
    Dim dr1 As Row = Tables(e.Form.Name & "_Table1").AddNew()
    dr1("itemID") = v '把配件名称中的ItmeID内容写入临时表的ItemID 字段
Next


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


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
临时表问题再再请教!  发帖心情 Post By:2023/2/10 9:17:00 [只看该作者]

感谢专家指教,临时表字段内容能在Table1中正常显示了.

再请教:如何设置由临时表传入的字段内容的颜色变成红色?

----如何在下面代码中追加语句?-----
Tables(e.Form.Name & "_Table1").DataSource = dtb.buildDatasource()
Tables(e.Form.Name & "_Table1").AllowEdit = True
Tables(e.Form.Name & "_Table1").DefaultColWidth = 80
Tables(e.Form.Name & "_Table1").Cols(0).Width = 30
Tables(e.Form.Name & "_Table1").Cols(1).Width = 150
Tables(e.Form.Name & "_Table1").Cols(2).Width = 200
Tables(e.Form.Name & "_Table1").Cols.Frozen = 3
'----------字段名称加载完成
For Each v As String() In DataTables("Product_PartList").GetValues("itemID|part_name|Specification","use_ok='Y'","itemID")
    Dim dr1 As Row = Tables(e.Form.Name & "_Table1").AddNew()
    dr1("itemID") = v(0) 
    dr1("part_name") = v(1)
    dr1("Specification") = v(2)
Next
For Each r1 As Row In Tables(e.Form.Name & "_Table1").Rows 
    DataTables("Plan_MatchingList").LoadFilter = "item_id=" & r1("itemID") 
    DataTables("Plan_MatchingList").Load
    Tables("Plan_MatchingList").Sort = "plan_name_no"
    For Each cl As Col In Tables(e.Form.Name & "_Table1").Cols 
        r2 = Tables("Plan_MatchingList").FindRow("[plan_name_spec] ='" & cl.name & "'") 
        If r2 > 0 Then
            r1(cl.name) = True
        Tables(e.Form.Name & "_Table1").SetHeaderCellForeColor(cl.name, Color.Red)'能把有内容的字段标题变更红色
        End If
        
    Next
Next

再请教:如何设置由临时表传入的字段内容的文字颜色变成红色?
感谢感谢!


[此贴子已经被作者于2023/2/10 13:07:16编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/10 9:29:00 [只看该作者]

把窗口表设置为sqltable,到窗口表事件drawcell事件处理:http://www.foxtable.com/webhelp/topics/0656.htm

 回到顶部