Foxtable(狐表)用户栏目专家坐堂 → 分箱功能虽然实现,请专家帮助优化一下,我实现的太繁琐


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

主题:分箱功能虽然实现,请专家帮助优化一下,我实现的太繁琐

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


加好友 发短信
等级:超级版主 帖子:110587 积分:562831 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/23 16:14:00 [显示全部帖子]

如何进行分箱,拆分的逻辑是什么?原来是怎么做的,具体代码在哪里?

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


加好友 发短信
等级:超级版主 帖子:110587 积分:562831 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/23 17:29:00 [显示全部帖子]

看看是不是这种效果

DataTables("分箱明细").DataRows.Clear

Dim Cols1() As String = {"长度","宽度","厚度","编号","单个重量","编号"}
Dim Cols2() As String = {"长度","宽度","厚度","编号","单个重量","编号"}
Dim dr2 As DataRow
Dim zl As Integer = 0
For Each dr1 As DataRow In DataTables("产品数据").Select("[数量] > 0 and 单个重量 > 0")
    Dim gs As Integer = Math.Floor(500 / dr1("单个重量"))
    Dim cnt As Integer = 1
    Dim sl As Integer = dr1("数量")
    For  j As Integer = 1 To sl  Step gs
        dr2 = DataTables("分箱明细").AddNew()
        For i As Integer = 0 To Cols1.Length -1
            dr2(Cols2(i)) = dr1(Cols1(i))
        Next
        dr2("数量")= iif(j+gs > sl,sl - j+1,gs)
        dr2("箱号")=cnt
        cnt += 1
    Next
Next

 回到顶部