以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于排序我想讨论下 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=41309) |
-- 作者:blackzhu -- 发布时间:2013/10/16 13:34:00 -- 关于排序我想讨论下 以前我用GetUniqueValues 不能排序,一个好的函数不能排序造成了很大的困惑,后来老大终于添加了一个可以排序的不重复函数. 但是最近我又发现一个问题 filler 这个填充的也不能排序 又造成我的一个困惑.填充后的数据不能根据来源数据表的顺序. 另外 所有的统计表的顺序也不是根据呗统计的数据表的顺序.这是第一个不方便的(比如交叉统计表的顺序都不对的),第二个因为统计表没有主键列,所以统计表再处理(比如利用统计表手工填充等等)也不能排序,有啥好办法?
|
-- 作者:狐狸爸爸 -- 发布时间:2013/10/16 14:24:00 -- 自己编码,怎样排序都可以:
http://www.foxtable.com/help/topics/1533.htm
至于统计表,直接设置统计表的sort属性就可以啊 |
-- 作者:blackzhu -- 发布时间:2013/10/16 14:31:00 -- 老大 我的意思不想自己编码 有现成的函数不用? 你这个手工编码的速度要比这个函数处理的速度要慢些. 另外:我的意思是先生成统计表 再利用统计表的数据再次进行处理 这个情况怎么处理? (就比如你所说的进行手工填充.) |
-- 作者:狐狸爸爸 -- 发布时间:2013/10/16 14:32:00 -- 1、速度一样的哦,记得stopdraw就行 2、不明白这个问题是什么意思 |
-- 作者:blackzhu -- 发布时间:2013/10/16 14:38:00 -- 以下是引用狐狸爸爸在2013-10-16 14:32:00的发言:
1、速度一样的哦,记得stopdraw就行 2、不明白这个问题是什么意思 一样? 我怎么前两天测试了下 速度不一样呀! 第二个问题,简单的说 比如我生成了一个统计表 我想利用这个统计表的数据再进行比如手工填充的工作,想用主键列做排序列 ,统计表是没有主键列 怎么办?
|
-- 作者:狐狸爸爸 -- 发布时间:2013/10/16 14:39:00 -- 呵呵,我还是无法理解你的问题,你最好用简单的例子说明 |
-- 作者:blackzhu -- 发布时间:2013/10/16 14:45:00 -- 比如这个代码: Dim b As New GroupTableBuilder("统计表1",DataTables("订单")) b.Filter = "[客户] = \'CS01\'" \'仅统计客户为CS01的记录 b.Groups.AddDef("产品") \'根据产品分组 b.Groups.AddDef("客户") \'根据产品分组 b.Totals.AddDef("数量") \'对数量进行统计 b.Build \'生成统计表 Dim Cols1() As String = {"产品","客户"} Dim Cols2() As String = {"产品","客户"} For Each dr1 As DataRow In DataTables("统计表1").Select("[客户]=\'CS01\'", "排序我想用主键列排序") Dim dr2 As DataRow = DataTables("汇总").AddNew() For i As Integer = 0 To Cols1.Length -1 dr2(Cols2(i)) = dr1(Cols1(i)) Next Next |
-- 作者:blackzhu -- 发布时间:2013/10/16 14:48:00 -- 另外 一个数据表 里面的数据是这样的: 项目列 一 二 9300 但是进行交叉统计后变成这样了: 9300列 一列 二列 像这样的怎么处理? 我的理解应该是 一列 二列 9300列 这样的呀
|
-- 作者:狐狸爸爸 -- 发布时间:2013/10/16 14:50:00 -- 计算机排序的结果就是这样,你可以编码重新调整列的顺序。 |
-- 作者:blackzhu -- 发布时间:2013/10/16 14:54:00 -- 老大 你回答是7楼的问题 还是 8楼的问题 如果是8楼的问题 难道我一直老用代码调节列的顺序? 如果数据一直在不停的添加也这样做? 那七楼的问题呢?
|