以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何根据遍历表得到的单位 事项类别 事项名称 来对应进行换行组合数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185735)

--  作者:cnsjroom
--  发布时间:2023/3/13 18:54:00
--  如何根据遍历表得到的单位 事项类别 事项名称 来对应进行换行组合数据
如何根据遍历表得到的单位  事项类别  事项名称  来对应进行换行组合数据

想实现数据格式如下:
2023年度州委238次,其中:
执纪执法方面
在检查发现问题线索立案件(0)次,与上年度同期占比0/0;
……
一把手和领导班子方面
在报请或会同党委(党组)召开党风廉政专题会议(0)次,与上年度同期占比0/0;
在主动约谈(0)次,与上年度同期占比0/0;
政治方面
在检查发现问题(0)次,与上年度同期占比0/0;
在任务(0)次,与上年度同期占比0/0;
……

代码一:
Dim smybgs As List(Of String())
smybgs = DataTables("统计分析报告同比同期占比").GetValues("所属单位|事项类别")
Dim bbbb As Integer
Dim bb11,s1 As String
For Each smybg As String() In smybgs
    output.show(smybg(0))
    output.show(smybg(1))
    If smybg(0)="黔南州" Then
    Else
        Dim bb01 As DataRow = DataTables("统计分析报告同比同期占比").sqlfind("")
        Dim bb21 As Integer =DataTables("统计分析报告同比同期占比").sqlCompute("count(guid)")
        Dim drs As List(of DataRow)  =DataTables("统计分析报告同比同期占比").SQLSelect("所属单位=\'" & smybg(0) & "\'")
        Dim Names As New List(Of object)
        Dim Names2 As New List(Of object)
        For Each r As DataRow In drs
            Names2.add(r("事项类别") & "在" & r("事项名称") & "(" & r("年度总数") & ")次,与上年度同期占比" & r("年度同期占比"))
        Next
        If bb01 IsNot Nothing Then
            bb11="2023年度" & smybg(0) &  bb21 & "次,其中:" & String.join(";",Names2.toarray) & ";"   & Chr(13) & Chr(10)
        End If
        s1 =  s1 & bb11 & Chr(13) & Chr(10)
    End If
Next

output.show(s1)
输出:
南州
执纪执法方面
南州
日常方面
南州
一把手和领导班子方面
南州
政治方面
州委
执纪执法方面
州委
日常方面
州委
一把手和领导班子方面
州委
政治方面
……
代码二:
Dim smybgs As List(Of String)
smybgs = DataTables("统计分析报告同比同期占比").GetValues("所属单位")
Dim smybgs1 As List(Of String)
smybgs1 = DataTables("统计分析项目").GetValues("事项类别","","[_Identify] desc")
Dim bbbb As Integer
Dim bb11,s1,s2,s3 As String
For Each smybg1 As String In smybgs1
    For Each smybg As String In smybgs
        If smybg="黔南州" Then
        Else
            Dim bb01 As DataRow = DataTables("统计分析报告同比同期占比").sqlfind("")
            Dim bb21 As Integer =DataTables("统计分析报告同比同期占比").sqlCompute("count(guid)")
            Dim drs As List(of DataRow)  =DataTables("统计分析报告同比同期占比").SQLSelect("所属单位=\'" & smybg & "\'And 事项类别=\'" & smybg1 & "\'")
            Dim Names As New List(Of object)
            Dim Names2 As New List(Of object)
            For Each r As DataRow In drs
                s3="2023年度" & smybg &  bb21 & "次,"
                s2= r("事项类别")
                Names2.add(Chr(13) & Chr(10) & "在" & r("事项名称") & "(" & r("年度总数") & ")次,与上年度同期占比" & r("年度同期占比"))
            Next
            If bb01 IsNot Nothing Then
                bb11=",其中:" & String.join(";",Names2.toarray) & ";"   & Chr(13) & Chr(10)
            End If
            s1 =  s3 & Chr(13) & Chr(10) & s2 & bb11 & Chr(13) & Chr(10)
        End If
    Next
Next
output.show(s1)
输出:
2023年度南州238次,
一把手和领导班子方面,其中:
在报请或会同党委(党组)召开党风廉政专题会议(0)次,与上年度同期占比0/0;
在主动约谈(0)次,与上年度同期占比0/0;
[此贴子已经被作者于2023/3/13 22:03:31编辑过]

--  作者:有点蓝
--  发布时间:2023/3/13 20:16:00
--  
Dim smybgs As List(Of String)
smybgs = DataTables("统计分析报告同比同期占比").GetValues("所属单位")
dim b as new stringbuilder
For Each smybg As String In smybgs 
            Dim bb21 As Integer =DataTables("统计分析报告同比同期占比").sqlCompute("count(guid)")
b.Append("2023年度" & smybg &  bb21 & "次,")
Dim smybgs1 As List(Of String)
smybgs1 = DataTables("统计分析报告同比同期占比").GetValues("事项类别","所属单位=\'" & smybg & "\' and 事项类别<>\'黔南州\'","[_Identify] desc")
if smybgs1.count > 0
b.Appendline(",其中:")
end if
    For Each smybg1 As String In smybgs1 
b.Appendline(smybg1)
            Dim drs As List(of DataRow)  =DataTables("统计分析报告同比同期占比").SQLSelect("所属单位=\'" & smybg & "\'And 事项类别=\'" & smybg1 & "\'")
            For Each r As DataRow In drs
                b.Appendline("在" & r("事项名称") & "(" & r("年度总数") & ")次,与上年度同期占比" & r("年度同期占比"))
            Next
    Next
Next
output.show(b.tostring)

--  作者:cnsjroom
--  发布时间:2023/3/13 22:03:00
--  回复:(有点蓝)Dim smybgs As List(Of String)smybg...
谢谢老师