各位老师深夜辛苦!
以下代码是垂直列与水平列转换后生成的临时表,在代码最后关于列宽设置中,代码dtb.AddDef(v, Gettype(String),4,"",v & "月")所生成的列,不知列宽应该如何设置,请大师指导,谢谢各位!!
Dim dtb As New DataTableBuilder("DMSZNDTJB","断面水质年度统计表")
dtb.AddDef("YEAR",Gettype(String),4,"","年份")
dtb.AddDef("HLMC",Gettype(String),10,"","河流名称")
dtb.AddDef("DMMC",Gettype(String),10,"","断面名称")
For Each v As String In DataTables("DMSZJCB").GetValues("MONTH")
dtb.AddDef(v, Gettype(String),4,"",v & "月")
Next
dtb.Build()
For Each v As String() In DataTables("DMSZJCB").GetValues("YEAR|HLMC|DMMC")
Dim dr1 As DataRow = DataTables("DMSZNDTJB").AddNew()
dr1("YEAR") = v(0)
dr1("HLMC") = v(1)
dr1("DMMC") = v(2)
For Each dr2 As DataRow In DataTables ("DMSZJCB").Select("YEAR = '" & v(0) & "' And HLMC = '" & v(1) & "' And DMMC = '" & v(2) & "'")
dr1(dr2("MONTH")) = dr2("ZHPJLB")
Next
Next
'DataTables("表B").DataCols.Add("总分",Gettype(Double),"[语文] + [英语] + [数学] + [物理] + [化学]")
MainTable = Tables("DMSZNDTJB")
Tables("DMSZNDTJB").SetColVisibleWidth("YEAR|40|HLMC|70|DMMC|80.................")