以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]生成多层表头  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=176808)

--  作者:foxtablefanse
--  发布时间:2022/4/27 14:49:00
--  [求助]生成多层表头
非自然月考勤表,想生成多层表头,想要的样式:

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

sqltable类型表 ,生成代码

Dim y As WinForm.ComboBox = e.Form.Controls("CBYear") ‘选择的年
Dim m As WinForm.ComboBox = e.Form.Controls("CBMonth")  ’选择的月
Dim tb As String="考勤管理_Table1"
If y.Value <> "" AndAlso m.Value <> "" Then
    Dim ye As Integer=iif(m.Value -1 = 0,y.Value-1,y.Value)
    Dim mt As Integer=iif(m.Value -1 = 0,12,m.Value -1)
    
    Dim ts As Integer= Date.DaysInMonth(ye,mt)   ’获取上个月的最多天数
    \'MessageBox.Show(ts)
    Select Case ts  ‘移除多余列
        Case 30
            Tables(tb).Cols.Remove("三十一")
        Case 29
            Tables(tb).Cols.Remove("三十一","三十")
        Case 28
            Tables(tb).Cols.Remove("三十一","三十","二十九")
    End Select
    With DataTables(tb)  ’更改列标题
        For i As Integer = 1 To Tables(tb).Cols.Count - 3
            If CInt(Tables(tb).Cols(i).Caption) > 25
                \' Output.Show(Tables("订单").Cols(i).Caption)
                .DataCols(i).Caption = mt & "月_" & Tables(tb).Cols(i).Caption
            Else
                .DataCols(i).Caption = mt+1  & "月_" & Tables(tb).Cols(i).Caption
            End If
        Next
        .MultiRowHeader = True
        .BuildHeader()             
    End With   
End If
结果没有达到效果:

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

[此贴子已经被作者于2022/4/27 14:52:59编辑过]

--  作者:有点蓝
--  发布时间:2022/4/27 15:11:00
--  
请上传实例测试
--  作者:foxtablefanse
--  发布时间:2022/4/27 17:54:00
--  
例子正常,和我项目的区别就是一个是norml表,一个是sqltable表
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip

[此贴子已经被作者于2022/4/27 17:54:38编辑过]

--  作者:有点蓝
--  发布时间:2022/4/28 8:58:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip