以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  按照一定规则自动编上号码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94126)

--  作者:zhangning
--  发布时间:2016/12/16 9:57:00
--  按照一定规则自动编上号码
如图:

图片点击可在新窗口打开查看此主题相关图片如下:排序2.png
图片点击可在新窗口打开查看

编号规则是:电动CT   MRICT  明峰CT  LCDarm
               一轮一轮的排号,第一轮是1 2 3 4 
              第二轮是 5 6 7 8 
            .......


--  作者:zhangning
--  发布时间:2016/12/16 9:58:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:排4.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:排序3.png
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:排序5.png
图片点击可在新窗口打开查看

请问老师,要达到这样的效果,如何写代码呢?

--  作者:有点色
--  发布时间:2016/12/16 10:09:00
--  
 做个foxtable表格上传上来。
--  作者:zhangning
--  发布时间:2016/12/16 10:22:00
--  
好的,
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:编号.table



--  作者:有点色
--  发布时间:2016/12/16 10:56:00
--  
Dim dt As DataTable = DataTables("月度加工整体安排")
Dim zps As List(Of String) = dt.GetValues("製品", "製品 is not null", "_Sortkey")
Dim dic As new Dictionary(Of String, object)
Dim dicIdx As new Dictionary(Of String, Integer)
Dim count As Integer = 0
For Each zp As String In zps
    Dim drs As List(of DataRow) = dt.Select("製品 = \'" & zp & "\'", "批次")
    dic.Add(zp, drs)
    dicIdx.Add(zp, 0)
    count += drs.count
Next
Dim i As Integer = 1
Do While i <= count
    For Each zp As String In zps
        If dicIdx(zp) < dic(zp).count Then
            dic(zp)(dicIdx(zp))("加工优先级") = i
            dicIdx(zp) += 1
            i += 1
        End If
    Next
Loop