[讨论散分]打印时实现特殊分页功能
/*
有表数据如下(数据不包含中文说明部分)。
要求:
打印时候特殊分页,分页的结构是按原来的表编号次序,编号1对应打印第1页第1行,编号2对应打印第2页第1行
编号3对应打印第3页第1行...打完最后一页,再从第1页第2行开始打印。。。效果如下:
已知表的列数据为:表ID,编号, OdID,
未知表的列数据为:序号
怎么样写个存储过程,实现这样的分页。
(提示:以下是61条数据,已经知道一页纸张可以打印6行数据,可以不用考虑列OdID,只要能算出如下的序号数据即可实现。)
我想了1天多,已经想到一个的解决方法,但还希望有朋友帮忙找更方便的方法,顺便放分,呵呵。大家一起想办法。星期1后我会贴出自己的写法。
第1行:
表ID 编号 OdID 序号
--------------------------
16070 1 1 1 ---第1页第1行
16071 2 2 7 ---第2页第1行
16072 3 3 13 ---第3页第1行
16073 4 4 19 ---第4页第1行
16074 5 5 25 ---....
16075 6 6 31
16076 7 1 37
16077 8 2 43
16078 9 3 49
16079 10 4 55
16080 11 5 61 ---第11页第1行
第2行:
16081 12 6 2 ---第1页第2行
16082 13 1 8 ---第2页第2行
16083 14 2 14 ---第3页第2行
16084 15 3 20
16085 16 4 26
16086 17 5 32
16087 18 6 38
16088 19 1 44
16089 20 2 50
16090 21 3 56 ---第10页第2行
第3行:
16091 22 4 3
16092 23 5 9
16093 24 6 15
16094 25 1 21
16095 26 2 27
16096 27 3 33
16097 28 4 39
16098 29 5 45
16099 30 6 51
16100 31 1 57
第4行:
16101 32 2 4
16102 33 3 10
16103 34 4 16
16104 35 5 22
16105 36 6 28
16106 37 1 34
16107 38 2 40
16108 39 3 46
16109 40 4 52
16110 41 5 58
第5行:
16111 42 6 5
16112 43 1 11
16113 44 2 17
16114 45 3 23
16115 46 4 29
16116 47 5 35
16117 48 6 41
16118 49 1 47
16119 50 2 53
16120 51 3 59
第6行:
16121 52 4 6 ---第1页第6行
16122 53 5 12 ---第2页第6行
16123 54 6 18 ---第3页第6行
16124 55 1 24
16125 56 2 30
16126 57 3 36
16127 58 4 42
16128 59 5 48
16129 60 6 54
16130 61 1 60 ---第10页第6行
*/
------解决方案--------------------sql实现困难
------解决方案--------------------需要通过临时表来实现