以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  专业报表排序问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=46439)

--  作者:mamuaiqing
--  发布时间:2014/2/23 20:31:00
--  专业报表排序问题
在专业报表中,用For r As Integer = 0 To Rows.Count -1  循环表中的行时,生成的内容是根据什么条件作为排序的?在表中用Sort重新排序后有什么办法能让生成的内容排序按照当前表排序的样式生成?请教下老师
--  作者:有点甜
--  发布时间:2014/2/23 22:06:00
--  
 你可以这样得到当前表的行。select方法是可以排序的。

 for each dr as datarow in datatables("表A").select(Tables("表A").Filter, "第一列")  \'根据第一列排列

 next

--  作者:mamuaiqing
--  发布时间:2014/2/23 22:24:00
--  

Dim tbl As Table = Tables("窗口1_Table1")

For Each Region() As String In tbl.DataTable.GetUniqueValues("","类别","配比","材料颜色")

        Rows = tbl.DataTable.Select("[类别] = \'" & Region(0) & "\'")      
        For r As Integer = 0 To Rows.Count -1
            rt.Cells(r + 1, 0).Text = rows(r)("规格") & "cm"
            rt.Cells(r + 1, 1).Text = rows(r)("厚度") & "C"
            rt.Cells(r + 1, 2).Text = rows(r)("重量") & "公斤"
            If rows(r)("备注") = "" Then
                rt.Cells(r + 1, 3).Text = ".............."
            Else
                rt.Cells(r + 1, 3).Text = rows(r)("备注")
            End If
        Next

Next

那上面的代码该怎么修改?


--  作者:有点甜
--  发布时间:2014/2/23 23:09:00
--  

Dim tbl As Table = Tables("窗口1_Table1")

For Each Region() As String In tbl.DataTable.GetUniqueValues("","类别","配比","材料颜色")

        Rows = tbl.DataTable.Select("[类别] = \'" & Region(0) & "\'", tbl.Sort)      
        For r As Integer = 0 To Rows.Count -1
            rt.Cells(r + 1, 0).Text = rows(r)("规格") & "cm"
            rt.Cells(r + 1, 1).Text = rows(r)("厚度") & "C"
            rt.Cells(r + 1, 2).Text = rows(r)("重量") & "公斤"
            If rows(r)("备注") = "" Then
                rt.Cells(r + 1, 3).Text = ".............."
            Else
                rt.Cells(r + 1, 3).Text = rows(r)("备注")
            End If
        Next

Next


--  作者:mamuaiqing
--  发布时间:2014/2/24 12:08:00
--  
原来是这样,感谢老师的指导