以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  增加表标题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=161232)

--  作者:rgbjwjb
--  发布时间:2021/3/10 14:46:00
--  增加表标题

我想给统计表加个标题,运行后,没有报错,也没统计结果,代码如下:

Dim ndxz As WinForm.ComboBox = e.Form.Controls("年度选择")
            Dim yfxz As WinForm.ComboBox = e.Form.Controls("月份选择")
            If ndxz.value > 0 And yfxz.value > 0 Then
                Dim dt1 As New Date(ndxz.value, yfxz.value, 1)
                Dim dt2 As New Date(ndxz.value, yfxz.value, Date.DaysInMonth(ndxz.value,yfxz.value)) \'获取该月的最后一天
                Dim g As New CrossTableBuilder("统计表1", DataTables("派工单明细表"))
                Dim dt As fxDataSource
                g.HGroups.AddDef("村民组")
                g.HGroups.AddDef("户主姓名")
                g.HGroups.AddDef("派工日期", DateGroupEnum.None)
                g.VGroups.AddDef("工程名称")
                g.Totals.AddDef("工时", "工时")
                g.Totals.AddDef("工价", "工价")
                g.OrderByTotal = True
                g.HorizontalTotal = True
                g.VerticalTotal = True
                g.Decimals = 2
                g.Subtotal = True
                g.Filter = "[派工日期] >= #" & dt1 & "# And [派工日期] <= #" & dt2 & "#"
                g.Caption ="江安镇徐柴村" & ndxz.value & "年" & yfxz.value & "月公用工统计表"
                g.Build()
                dt = g.BuildDataSource()
                Tables("公用工查询_Table1").DataSource = dt
            End If
不知如何修改?请指教,谢谢!


--  作者:有点蓝
--  发布时间:2021/3/10 14:57:00
--  
Dim g As New CrossTableBuilder("江安镇徐柴村" & ndxz.value & "年" & yfxz.value & "月公用工统计表", DataTables("派工单明细表"))
--  作者:rgbjwjb
--  发布时间:2021/3/11 17:10:00
--  
我的表达可能错了,我不是想将“统计表1”的名称改为“江安镇徐柴村**年**月公用工统计表”,而是想在生成的“统计表1”中的第一行加上上面这一行(江安镇徐柴村**年**月公用工统计表)请指教,谢谢!
--  作者:有点蓝
--  发布时间:2021/3/11 17:14:00
--  
tables("统计表1").rows(0)("某某列") = 江安镇徐柴村" & ndxz.value & "年" & yfxz.value & "月公用工统计表"
--  作者:rgbjwjb
--  发布时间:2021/3/11 20:57:00
--  
 Dim ndxz As WinForm.ComboBox = e.Form.Controls("年度选择")
            Dim yfxz As WinForm.ComboBox = e.Form.Controls("月份选择")
            If ndxz.value > 0 And yfxz.value > 0 Then
                Dim dt1 As New Date(ndxz.value, yfxz.value, 1)
                Dim dt2 As New Date(ndxz.value, yfxz.value, Date.DaysInMonth(ndxz.value,yfxz.value)) \'获取该月的最后一天
                Dim g As New CrossTableBuilder("统计表1", DataTables("派工单明细表"))                
                Dim dt As fxDataSource
                g.HGroups.AddDef("户主姓名")
                g.HGroups.AddDef("村民组")
                g.HGroups.AddDef("派工日期", DateGroupEnum.None)
                g.VGroups.AddDef("工程名称")
                g.Totals.AddDef("工时", "工时")
                g.Totals.AddDef("工价", "工价")
                g.HorizontalTotal = True
                g.VerticalTotal = True
                g.Decimals = 2
                g.Subtotal = True
                g.Filter = "[派工日期] >= #" & dt1 & "# And [派工日期] <= #" & dt2 & "#"
                g.Build()                
                dt = g.BuildDataSource()
                Tables("公用工查询_Table1").DataSource = dt
                Tables("公用工查询_Table1").rows(0)("村民组") = "\'江安镇徐柴村\' & ndxz.value & "\'年\'" & yfxz.value & "\'月公用工统计表\'"
            End If
我加了代码后没报错,也没有插入表头
请指教,谢谢!

--  作者:rgbjwjb
--  发布时间:2021/3/11 21:04:00
--  
代码在“公用工查询”窗体的“月份选择”控件的selctedindexchanged事件中


--  作者:有点蓝
--  发布时间:2021/3/11 21:17:00
--  
不知道到底想干嘛,画图说明一下
--  作者:rgbjwjb
--  发布时间:2021/3/12 8:57:00
--  

我就是想在生成的统计表上加个表头


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

--  作者:有点蓝
--  发布时间:2021/3/12 9:07:00
--  
建议还不如在窗口表上方放一个标签控件显示这种标题,把标签控件设置为有边框即可。

如果一定要在表格里做要改每个列的标题,如:http://www.foxtable.com/webhelp/topics/1275.htm

Tables("公用工查询_Table1").DataSource = dt
dim dt as datatable = dataTables("公用工查询_Table1")
dim s as string = "江安镇徐柴村 & ndxz.value & "年" & yfxz.value & "月公用工统计表_"
for each dc as datacol in dt.datacols
if dc.caption > "" then
dc.caption = s & dc.caption
else
dc.caption = s & dc.name
end if
next
dt.BuildHeader()