Foxtable(狐表)用户栏目专家坐堂 → [求助]如何用代码找到集合的内容?


  共有3273人关注过本帖树形打印复制链接

主题:[求助]如何用代码找到集合的内容?

帅哥哟,离线,有人找我吗?
hrw68529
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1145 积分:8926 威望:0 精华:0 注册:2012/7/10 9:09:00
[求助]如何用代码找到集合的内容?  发帖心情 Post By:2023/9/4 11:14:00 [只看该作者]

以下代码中,想生成word套打,生成“主项”列集合后,想按主项列内容,进行列表,不知道怎么用代码写,只好用字符串内容代替,这样的话,如果“主项”内容变化后,得从写代码,如何直接引用集合中的字符串来进行判断,谢谢。
代码如下:划线的地方是不知道怎么解决的地方。

Dim tm As String  = ProjectPath & "Attachments\年度重点工作落实情况汇报.doc"

Dim rs As Row = Tables("年度重点工作").Current

Dim fl As String = ProjectPath & "年度重点工作\落实情况报告" & rs("年度") & "年度重点工作落实情况报告" &"(" & Format(Now(), "yyyy.M.d.hh.mm") &")" &" .doc"

Dim wrt As New WordReport(Tables("年度重点工作"),tm,fl) '定义一个WordReport

wrt.Replace("[计数]",DataTables("年度重点工作").Compute("count(项目序号)")) '用代码计算出总的销售数量并替换模板中的合计标记

Dim str1 As String = ""

Dim str2 As String = ""

Dim str3 As String = ""

Dim ls As List(Of String()) = DataTables("年度重点工作").GetValues("主项|重点工作内容|责任领导|责任单位|配合单位|完成时限|进展情况", Tables("年度重点工作").Filter,"序号")

For i As Integer = 0 To ls.Count - 1

    Dim s() As String = ls(i)

    Dim flag As String =  vbcrlf & ""

    If s(0) = "一、信阳市委常委会2023年重点工作"  Then

        str1 &= s(1) & flag & "责任领导" & s(2) & flag & "责任单位" & s(3) & flag & "配合单位" & s(4) & flag & "完成时限" & s(5) & flag  &"进展情况"& s(6) & flag

ElseIf s(0) = "二、市政府工作报告中《2023年重点工作任务分解方案》重点工作" Then

        str2 &= s(1) & flag & "责任领导" & s(2) & flag & "责任单位" & s(3) & flag & "配合单位" & s(4) & flag & "完成时限" & s(5) & flag  &"进展情况"& s(6) & flag

ElseIf s(0) = "三、局重点工作" Then

        str3 &= s(1) & flag & "责任领导" & s(2) & flag & "责任单位" & s(3) & flag & "配合单位" & s(4) & flag & "完成时限" & s(5) & flag  &"进展情况"& s(6) & flag

    End If

Next

wrt.Replace("[列表1]", str1)

wrt.Replace("[列表2]", str2)

wrt.Replace("[列表3]", str3)

wrt.Build() '生成报表

wrt.Show() '显示报表

 



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/4 11:28:00 [只看该作者]

增加一个【主项编号】列,使用数字编号,比如1、2、3....
然后判断改为

Dim ls As List(Of String()) = DataTables("年度重点工作").GetValues("主项编号|主项|重点工作内容|责任领导|责任单位|配合单位|完成时限|进展情况", Tables("年度重点工作").Filter,"序号")

For i As Integer = 0 To ls.Count - 1

    Dim s() As String = ls(i)

    Dim flag As String =  vbcrlf & ""

    If s(0) = "1"  Then


 回到顶部
帅哥哟,离线,有人找我吗?
hrw68529
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1145 积分:8926 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2023/9/4 11:34:00 [只看该作者]

好的,谢谢

 回到顶部