以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  动态批量设置列标题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122966)

--  作者:wtfwsk05
--  发布时间:2018/8/5 21:32:00
--  动态批量设置列标题

图片点击可在新窗口打开查看此主题相关图片如下:表字段.png
图片点击可在新窗口打开查看
老师,请问下如实根据表字段的的数据给表中字段增加列标题

--  作者:wtfwsk05
--  发布时间:2018/8/5 21:33:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:表.png
图片点击可在新窗口打开查看

--  作者:wtfwsk05
--  发布时间:2018/8/5 21:35:00
--  
我今天想了半天,脑海里还是空白,不知道以什么逻辑或思路来写
--  作者:有点甜
--  发布时间:2018/8/5 22:36:00
--  

生成表格后,循环每一列,根据列名在表格find查找到对应的标题,然后设置

 

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

 


--  作者:wtfwsk05
--  发布时间:2018/8/5 22:58:00
--  
For Each dt As DataTable In DataTables    
    For Each dc As DataCol In dt.DataCols   
        Dim nm As String = dt.name     
        Dim lsts As List(of String) = DataTables("表字段").GetValues("字段标题","表名 = nm")        
        For i As Integer = 0 To dt.datacols.Count - 1
            dt.DataCols(i).Caption = lsts(i)
        Next
    Next
Next
为什么上述代码存无法正常使用

--  作者:wtfwsk05
--  发布时间:2018/8/5 23:04:00
--  

此主题相关图片如下:表标题.png
按此在新窗口浏览图片

编写的代码
For Each dt As DataTable In DataTables    
    For Each dc As DataCol In dt.DataCols   
        Dim nm As String = dt.name     
        Dim lsts As List(of String) = DataTables("表字段").GetValues("字段标题","表名 = nm")        
        For i As Integer = 0 To dt.datacols.Count - 1
            dt.DataCols(i).Caption = lsts(i)
        Next
    Next
Next
为什么上述代码存无法正常使用

--  作者:有点甜
--  发布时间:2018/8/6 0:14:00
--  
For Each dt As DataTable In DataTables
    For Each dc As DataCol In dt.DataCols
        Dim nm As String = dt.name
        Dim dr = DataTables("表字段").find("表名 = \'" & nm & "\'")
        If dr IsNot Nothing Then
            dc.Caption = dr("字段标题")
        End If
    Next
    dt.BuildHeader
Next

--  作者:wtfwsk05
--  发布时间:2018/8/6 0:38:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:表标题1.png
图片点击可在新窗口打开查看

上述代码显示结果如上图,该 怎么 修改

--  作者:wtfwsk05
--  发布时间:2018/8/6 0:48:00
--  
代码:
For Each dt As DataTable In DataTables
    For Each dc As DataCol In dt.DataCols
        Dim nm As String = dt.name
        For Each dr As DataRow In DataTables("表字段").Select("表名 = \'" & nm & "\'")
            If dr IsNot Nothing Then
                dc.Caption = dr("字段标题")
            End If
        Next
    Next
    dt.BuildHeader
Next
结果如下:

图片点击可在新窗口打开查看此主题相关图片如下:表标题2.png
图片点击可在新窗口打开查看

要想实现各字段显示不同的标题,应怎样修改代码


--  作者:有点甜
--  发布时间:2018/8/6 9:01:00
--  
For Each dt As DataTable In DataTables
    For Each dc As DataCol In dt.DataCols
        Dim nm As String = dt.name
        For Each dr As DataRow In DataTables("表字段").Select("表名 = \'" & nm & "\' and 字段名称 = \'" & dc.name & "\'")
            If dr IsNot Nothing Then
                dc.Caption = dr("字段标题")
            End If
        Next
    Next
    dt.BuildHeader
Next