Foxtable(狐表)用户栏目专家坐堂 → 如何遍历日志表,生成josn文件内容呢?


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

主题:如何遍历日志表,生成josn文件内容呢?

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/20 16:29:00 [显示全部帖子]

使用getvalues+select遍历即可

'定义数组集合的时候,要在类型后加上括号,表示这是一个数组集合。
Dim
 Arys As List(Of String()) 
Arys = 
DataTables("订单").GetValues("danweiname|name"'列名用符号|分割
'注意循环变量是字符型数组,所以类型是String(),而不是String

For
 Each Ary As String() In Arys
    Output.Show(Ary(
0) & "|" & Ary(1)) 
for each dr as datarow in DataTables("订单").select("danweiname= '" & Ary(0) & "' and name=xxxx")
    Output.Show(dr(time)
next
Next

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/20 17:13:00 [显示全部帖子]

Dim Arys As List(Of String())
Arys = DataTables("josn").GetValues("danweiname|name") '列名用符号|分割
'注意循环变量是字符型数组,所以类型是String(),而不是String
Dim jaaa As New JArray
Dim jo,jo2 As JObject
For Each Ary As String() In Arys
    Output.Show(Ary(0) & "|" & Ary(1))
    jo = New JObject
    jo("danweiname") = Ary(0)
    jo("name") =  Ary(1)
    jo("date") = New JArray'
    
    For Each dr As DataRow In DataTables("josn").Select("danweiname= '" & Ary(0) & "' and name='" & Ary(1) & "'")
        Output.Show(dr("tiem"))
        Output.Show(dr("context"))
        jo2 = New JObject
        jo2("tiem") = dr("tiem")
        jo2("context") = dr("context")
        jo("date").add(jo2)
    Next
    jaaa.Add(jo)
Next

Output.Show(jaaa.ToString)
[此贴子已经被作者于2020/7/20 17:13:28编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/21 8:20:00 [显示全部帖子]

For Each Ary As String() In Arys
    Output.Show(Ary(0) & "|" & Ary(1))
    jo = New JObject
    jo("danweiname") = Ary(0)
    jo("name") =  Ary(1)
    dim ja2 as New JArray'
    
    For Each dr As DataRow In DataTables("josn").Select("danweiname= '" & Ary(0) & "' and name='" & Ary(1) & "'")
        Output.Show(dr("tiem"))
        Output.Show(dr("context"))
        jo2 = New JObject
        jo2("tiem") = dr("tiem")
        jo2("context") = dr("context")
        ja2.add(jo2)
    Next
    jo("date") = ja2
    jaaa.Add(jo)
Next

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/21 9:41:00 [显示全部帖子]

jo2("tiem") = cstr(dr("tiem"))

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/21 20:20:00 [显示全部帖子]

先搞清楚自己的json结构:http://www.foxtable.com/mobilehelp/topics/0140.htm,了解大括号,中括号分别表示什么意思

9楼的json其实是有多个流程的,一个单位名称一个流程,最外层是中括号,就是一个数组

Dim json As String = jaaa.ToString
Dim ja As JArray JArray.Parse(json)
For i As Integer = 0 To ja.Count - 1
    Output.Show( "danweiname=:" & ja(i)("danweiname").ToString() &  "name:" & ja(i)("name").ToString()   )
Dim ja2 As JArray =ja(i)("date")
For j As Integer = 0 To ja2.Count - 1
Output.Show( "tiem=:" & ja2(j)("tiem").ToString() &  "name:" & ja2(j)("context").ToString()   )
Next
Next

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/22 10:21:00 [显示全部帖子]

一个流程图只能显示一个流程,这个josn嵌套过多,没有办法在一个流程图里显示

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/22 10:39:00 [显示全部帖子]

如果数据来源于表格,直接从表格取数据生成流程图就行了,有必要保存为json文件再又从文件里解析么,多此一举。人家实例这样用,是因为数据是从网上复制的,所以改为使用json文件,然后你们抄代码,也只会抄吗?!...

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/22 10:45:00 [显示全部帖子]

Dim e As RequestEventArgs = args(0)
Dim wb As New weui
wb.AppendHTML("<link rel='stylesheet' href='./exweui.css'/>",True)
For Each srr As String() In DataTables("josn").GetValues("danweiname|name")
    With ExWeUI.WebUI.AddStepGroup("","step1",srr(0) & "," & srr(1),,2)
        For Each dr As DataRow In DataTables("josn").Select("danweiname='" & srr(0) & "' And name='" & srr(1) & "'")
            With .AddStep("st01","",dr("tiem"))
                .Description = dr("context")
            End With
        Next
        wb.InsertHTML(.BuildHtml)
    End With
Next
e.WriteString(wb.Build)

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/22 10:56:00 [显示全部帖子]

根据表格来直接生成流程图自己看懂16楼的用法自行扩展

无法取消点和线条,那还不如不要使用流程图控件,改为其它控件,比如:

 回到顶部