Foxtable(狐表)用户栏目专家坐堂 → 目录树刷新问题


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

主题:目录树刷新问题

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/21 9:02:00 [显示全部帖子]

请上传实例,说明你要做什么。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/22 16:23:00 [显示全部帖子]

 没看懂你的意思。这样?

 

Dim dic As new Dictionary(of String,Integer)
'定义字典,键类型为字符串,值类型为整数
Dim rc As Integer = DataTables("生产计划").DataRows.Count-1
DataTables("采购需求").DataRows.Clear()
'清空采购需求表

Dim i As Integer
For i = 0 To rc
    Dim dr1 As DataRow
    dr1 = DataTables("生产计划").DataRows(i)
    '循环生产计划中的每一行数据
    For Each dr2 As DataRow In DataTables("商品结构").Select("[父级编码] = '" & dr1("商品编码") & "'")
        '以集合的形式返回符合条件的数据,并遍历每一行,而不是傻傻的遍历表中所有数据了.
        Dim ly As DataRow = DataTables("商品资料").Find("[商品编码] = '"& dr2("子级编码")&"'")
        If ly("来源")="自产" Then
            Dim ziji As DataRow = DataTables("生产计划").find("商品编码 = '" & dr2("子级编码") & "' and 数量 = '" & dr1("数量") * dr2("数量") & "'")
            If ziji Is Nothing Then
                ziji = DataTables("生产计划").AddNew
                ziji("商品编码")=dr2("子级编码")
                ziji("数量")=dr1("数量") * dr2("数量")
            End If
            rc=rc+1
        ElseIf ly("来源")="外购"  Then
            Dim nm As String = dr2("子级编码")
            '此处数据类型要跟前面字典的相符
            Dim vl As Integer = dr1("数量") * dr2("数量")
            '直接计算出相应物料的采购需求数量
            If dic.ContainsKey(nm) = False
                dic.Add(nm,vl)
                '如果字典中不存在相应的物料,则新增,否则累加
            Else
                dic(nm) = dic(nm)+ vl
            End If
        End If
    Next
Next

For Each key As String In dic.keys
    '遍历字典中所有的键的集合
    Dim dr As DataRow = DataTables("采购需求").AddNew()
    '增加新的数据行
    dr("商品编码") = key
    dr("需求数量") = dic(key)
Next


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/22 17:50:00 [显示全部帖子]

Dim dic As new Dictionary(of String,Integer)
Dim dt1 As DataTable = DataTables("生产计划")
Dim dt3 As DataTable = DataTables("采购需求")
Dim dt2 As DataTable = DataTables("商品结构")
Dim dt4 As DataTable = DataTables("商品资料")
dt1.ReplaceFor("第四列", Nothing)
Do While True
    Dim drs As List(Of DataRow) = dt1.Select("第四列 is null")
    If drs.count = 0 Then Exit Do
    For Each dr1 As DataRow In drs
        dr1("第四列") = 1
        For Each dr2 As DataRow In dt2.Select("[父级编码] = '" & dr1("商品编码") & "'")
            Dim ly As DataRow = dt4.Find("[商品编码] = '"& dr2("子级编码")&"'")
            If ly("来源")="自产" Then
                Dim ziji As DataRow = dt1.AddNew
                ziji("商品编码")=dr2("子级编码")
                ziji("数量")=dr1("数量") * dr2("数量")
               
            ElseIf ly("来源")="外购"  Then
                Dim nm As String = dr2("子级编码")
                '此处数据类型要跟前面字典的相符
                Dim vl As Integer = dr1("数量") * dr2("数量")
                '直接计算出相应物料的采购需求数量
                If dic.ContainsKey(nm) = False
                    dic.Add(nm,vl)
                    '如果字典中不存在相应的物料,则新增,否则累加
                Else
                    dic(nm) = dic(nm)+ vl
                End If
            End If
        Next
    Next
Loop
For Each key As String In dic.keys
    '遍历字典中所有的键的集合
    Dim dr As DataRow = DataTables("采购需求").AddNew()
    '增加新的数据行
    dr("商品编码") = key
    dr("需求数量") = dic(key)
Next

 


 回到顶部