PrintSample31.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>WEB打印控件LODOP的样例三十一:打印Table的分页小计和合计</title>
  6. <script language="javascript" src="LodopFuncs.js"></script>
  7. </head>
  8. <body>
  9. <h2><font color="#009999">演示打印Table的分页小计和合计:</font></h2>
  10. 利用<font size="3" color="blue"><span LANG="ZH">ADD_PRINT_TABLE</span></font>专用超文本元素属性可以轻松实现分页小计、累计、分类统计、页数及总合计等功能,<br>
  11. 这四个属性是:<font color="blue">tdata、format、tclass、tindex</font> 它们可以用在table内任何元素上,详细解释和演示如下:<br><br>
  12. <b>一、属性“<font color="blue">tdata</font>”:</b>设置统计类型,属性值及对应含义如下:
  13. <table border=0 width="939" >
  14. <tr>
  15. <td width="128"><font size="2" color="blue">SubCount</font><font size="2">(本页行数)</font></td>
  16. <td width="215"><font size="2"><font color="blue">SubDistinctCount</font>(本页非重复行数) </font>
  17. </td>
  18. <td width="122"><font size="2"><font color="blue">SubSum</font>(本页合计)<font color="blue"> </font></font>
  19. </td>
  20. <td width="153"><font size="2"><font color="blue">SubAverage</font>(本页平均数) </font>
  21. </td>
  22. <td width="155"><font size="2"><font color="blue">SubMax</font>(本页最大值)</font></td>
  23. <td width="133"><font size="2"><font color="blue">SubMin</font>(本页最小值)</font></td>
  24. </tr>
  25. <tr>
  26. <td width="128"><font size="2">
  27. <font color="blue">Count</font>(目前累计行数)</font></td>
  28. <td width="215"><font size="2"><font color="blue">DistinctCount</font>(目前累计非重复行数) </font>
  29. </td>
  30. <td width="122"><font size="2"><font color="blue">Sum</font>(目前累计数) </font>
  31. </td>
  32. <td width="153"><font size="2"><font color="blue">Average</font>(目前累计平均数) </font>
  33. </td>
  34. <td width="155"><font size="2"><font color="blue">Max</font>(目前最大值) </font>
  35. </td>
  36. <td width="133"><font size="2"><font color="blue">&nbsp;Min</font>(目前最小值)</font></td>
  37. </tr>
  38. <tr>
  39. <td width="128"><font size="2">
  40. <font color="blue">AllCount</font>(全表总行数)</font></td>
  41. <td width="215"><font color="blue" size="2">AllDistinctCount</font><font size="2">(全表非重复行数) </font>
  42. </td>
  43. <td width="122"><font size="2"><font color="blue">AllSum</font>(全表总合计) </font>
  44. </td>
  45. <td width="153"><font size="2"><font color="blue">AllAverage</font>(全表总平均)</font></td>
  46. <td width="155"><font size="2"><font color="blue">AllMax</font>(全表最大值) </font>
  47. </td>
  48. <td width="133"><font size="2"><font color="blue">AllMin</font>(全表最小值)</font></td>
  49. </tr>
  50. <tr>
  51. <td width="128"><font size="2">
  52. <font color="blue">PageNO</font>(页号)</font></td>
  53. <td width="215"><font size="2">
  54. <font color="blue">PageCount</font>(页数)</font></td>
  55. <td width="563" colspan="4">&nbsp;</td>
  56. </tr>
  57. </table>
  58. <font size="2">以上属性值还可以组合成表达式, 甚至以复杂四则运算形式统计运算, 表达式内除了"<font color="blue">加+减-乘*除/</font>"和"<font color="blue">括号( )</font>"外,还支持数学函数:<br>
  59. <font color="blue">Trunc Round Sqrt Int Sqr Abs Sin Cos Tan Arcsin Arccos Arctin Logo10 Log2 Round1-6</font>等,
  60. 表格内单元格原始(或统计结果)数据可用其id值参与运算。<br />
  61. <br>
  62. </font><b>二、属性“<font color="blue">format</font>”:</b>设置数据格式,属性值样式如下:<br>
  63. &nbsp;&nbsp; “<font color="blue">0</font>” “<font color="blue">0.00</font>” “<font color="blue">#.##</font>”
  64. “<font color="blue">#,##0.00</font>”“<font color="blue">0.000E+00</font>”“<font color="blue">#.###E-0
  65. </font> ”“<font color="blue">UpperMoney</font>(大写金额)”“<font color="blue">ChineseNum</font>(中文数字)”等等...<br>
  66. <br />
  67. <b>三、属性“<font color="blue">tclass</font>”:</b>设置统计分组(也就是分类统计),属性值任意,参见本演示的“A型”“B型”个数统计。<br>
  68. <br />
  69. <b>四、属性“<font color="blue">tindex</font>”:</b>设置统计的目标列,默认情况下是同列统计,也就是统计结果与目标列一致,如果无法一致
  70. 时,<br>
  71. &nbsp;&nbsp;&nbsp;&nbsp; 可以用其指定具体列,属性值是数字型的列序号,从1起始。<br>
  72. <br />
  73. <b>五、占位符:</b>统计结果的占位符是任意个“<font color="blue">#</font>”组成的字符串,当结果值较大时,注意占位符要足够多,除非周围有空白区。<br><br>
  74. <b>六、演示:</b>点<a href="javascript:PrintMytable();"><b>预览打印</b></a>如下表格,观察表格的分页小计、累计、分类统计、页数以及总合计等。
  75. <div id="div1">
  76. <table border=1 width="100%" cellspacing="0" cellpadding="0" style="border-collapse:collapse" bordercolor="#000000">
  77. <caption><b>报表统计演示</b></caption>
  78. <thead>
  79. <tr>
  80. <th width="100%" colspan="5" tindex="1">
  81. 当前是第<font tdata="PageNO" format="ChineseNum" color="blue">##</font>页</span>/共<font tdata="PageCount" format="ChineseNum" color="blue">##</font></span>页,
  82. 本页从第<font color="blue" format="00" tdata="Count-SubCount+1">##</font>行到第<font color="blue" tdata="Count">##</font>行</th>
  83. </tr>
  84. <tr>
  85. <th width="20%">型号</th>
  86. <th width="26%">数量</th>
  87. <th width="28%" colspan="2">金额</th>
  88. <th width="26%">单价</th>
  89. </tr>
  90. </thead>
  91. <tr>
  92. <td width="20%" tclass="a">A1</td>
  93. <td width="26%">10</td>
  94. <td width="28%" colspan="2"><input value=15.00></td>
  95. <td width="26%">1.5</td>
  96. </tr>
  97. <tr>
  98. <td width="20%" tclass="a">A2</td>
  99. <td width="26%">20.5</td>
  100. <td width="28%" colspan="2"><textarea rows="1" style="border-width: 0px">41.00</textarea></td>
  101. <td width="26%">2.0</td>
  102. </tr>
  103. <tr>
  104. <td width="20%" tclass="a">A3</td>
  105. <td width="26%">10</td>
  106. <td width="28%" colspan="2">20.00</td>
  107. <td width="26%">2.0</td>
  108. </tr>
  109. <tr>
  110. <td width="20%" tclass="a">A4</td>
  111. <td width="26%">30</td>
  112. <td width="28%" colspan="2">30.00</td>
  113. <td width="26%">1.0</td>
  114. </tr>
  115. <tr>
  116. <td width="20%" tclass="a">A5</td>
  117. <td width="26%">25</td>
  118. <td width="28%" colspan="2">50.00</td>
  119. <td width="26%">2.0</td>
  120. </tr>
  121. <tr>
  122. <td width="20%" tclass="a">A6</td>
  123. <td width="26%">20</td>
  124. <td width="28%" colspan="2">20.00</td>
  125. <td width="26%">1.0</td>
  126. </tr>
  127. <tr>
  128. <td width="20%" rowspan="3" tclass="b">Bx</td>
  129. <td width="26%">45</td>
  130. <td width="28%" colspan="2">90.00</td>
  131. <td width="26%">2.0</td>
  132. </tr>
  133. <tr>
  134. <td width="26%">100</td>
  135. <td width="28%" colspan="2">150.00</td>
  136. <td width="26%">1.5</td>
  137. </tr>
  138. <tr>
  139. <td width="26%">10,000</td>
  140. <td width="28%" colspan="2">11,000.00</td>
  141. <td width="26%">11</td>
  142. </tr>
  143. <tr>
  144. <td width="20%" tclass="b">B0</td>
  145. <td width="26%">15</td>
  146. <td width="28%" colspan="2">15.00</td>
  147. <td width="26%">1.0</td>
  148. </tr>
  149. <tr>
  150. <td width="20%" tclass="b">B0</td>
  151. <td width="26%">24</td>
  152. <td width="28%" colspan="2">48.00</td>
  153. <td width="26%">2.0</td>
  154. </tr>
  155. <tr>
  156. <td width="20%" tclass="b">B1</td>
  157. <td width="26%">1</td>
  158. <td width="28%" colspan="2">5.60</td>
  159. <td width="26%">5.6</td>
  160. </tr>
  161. <tr>
  162. <td width="20%" tclass="b">B2</td>
  163. <td width="26%">180</td>
  164. <td width="28%" colspan="2">180.00</td>
  165. <td width="26%">1.0</td>
  166. </tr>
  167. <tr>
  168. <td width="20%" tclass="b">B12</td>
  169. <td width="26%">0</td>
  170. <td width="28%"colspan="2">50.00</td>
  171. <td width="26%"> </td>
  172. </tr>
  173. <tr>
  174. <td width="20%" tclass="b">B13</td>
  175. <td width="26%">30</td>
  176. <td width="28%" colspan="2">300.00</td>
  177. <td width="26%">10.0</td>
  178. </tr>
  179. <tr>
  180. <td width="481" colspan="2">本表截止当前行累积金额:
  181. </td>
  182. <td width="657" colspan="3"><font color="blue" tdata="Sum" format="#,##0.00" tindex="3" >######</font>
  183. </td>
  184. </tr>
  185. <tr>
  186. <td width="20%" ><font color="blue" tdata="SubCount" format="#" >显示行号:本页第######行</font></td>
  187. <td width="26%">20</td>
  188. <td width="28%" colspan="2">400.00</td>
  189. <td width="26%">20.0</td>
  190. </tr>
  191. <tr>
  192. <td width="20%" ><font color="blue" tdata="SubCount" format="#" >显示行号:本页第######行</font></td>
  193. <td width="26%">25</td>
  194. <td width="28%" colspan="2">50.00</td>
  195. <td width="26%">2.0</td>
  196. </tr>
  197. <tr>
  198. <td width="20%" tclass="b">B17</td>
  199. <td width="26%">90</td>
  200. <td width="28%" colspan="2">90.00</td>
  201. <td width="26%">1.0</td>
  202. </tr>
  203. <tr>
  204. <td width="20%" tclass="b">B18</td>
  205. <td width="26%">0</td>
  206. <td width="28%" colspan="2">24.00</td>
  207. </tr>
  208. <tr>
  209. <td width="20%" tclass="b">B19</td>
  210. <td width="26%">33</td>
  211. <td width="28%" colspan="2">66.00</td>
  212. <td width="26%">2.0</td>
  213. </tr>
  214. <tr>
  215. <td width="20%" tclass="b">B20</td>
  216. <td width="26%">100</td>
  217. <td width="28%" colspan="2">560.00</td>
  218. <td width="26%">5.6</td>
  219. </tr>
  220. <tr>
  221. <td width="20%" tclass="b">B21</td>
  222. <td width="26%">120</td>
  223. <td width="28%" colspan="2">120.00</td>
  224. <td width="26%">1.0</td>
  225. </tr>
  226. <tr>
  227. <td width="20%" tclass="b">B22</td>
  228. <td width="26%">150</td>
  229. <td width="28%" colspan="2">150.00</td>
  230. <td width="26%">1.0</td>
  231. </tr>
  232. <tr>
  233. <td width="20%" tclass="c">C23</td>
  234. <td width="26%">70</td>
  235. <td width="28%" colspan="2">70.00</td>
  236. <td width="26%">1.0</td>
  237. </tr>
  238. <tr>
  239. <td width="20%" tclass="c">C24</td>
  240. <td width="26%">800</td>
  241. <td width="28%" colspan="2">80.00</td>
  242. <td width="26%">0.1</td>
  243. </tr>
  244. <tr>
  245. <td width="374" colspan="2">截止表尾累积金额
  246. </td>
  247. <td width="202"><font color="blue" tdata="Sum" format="#,##0.00" tindex="3" >######</font>
  248. </td>
  249. <td width="363" colspan="2"><font color="blue" tdata="Sum" format="UpperMoney" tindex="3" >######</font>
  250. </td>
  251. </tr>
  252. <tfoot>
  253. <tr>
  254. <th width="20%" align="left" >
  255. 本页本列行数:<font tdata="SubCount" format="#" color="blue">###</font></th>
  256. <th align="left" width="26%" tdata="SubSum" format="#.##">
  257. 本页数量小计:<font color="blue">######</font></th>
  258. <th width="14%" align="right" >本页金额小计</th>
  259. <th width="19%" tdata="SubSum" format="#,##0.00" align="right" ><font color="blue" id="id01">###元</font></th>
  260. <th width="21%" align="left"tdata="SubAverage" format="#.00" >
  261. 本页均价:<font color="blue">######</font></th>
  262. </tr>
  263. <tr>
  264. <th width="20%" align="left">本页非重复行:<font tdata="SubDistinctCount" format="#" color="blue">##</font></th>
  265. <th width="26%" tdata="Sum" format="#.##" align="left">
  266. 数量累计:<font color="blue">######</font></th>
  267. <th width="14%" align="right">金额累计</th>
  268. <th width="19%" tdata="Sum" format="#,##0.00" align="right"><font color="blue">¥###</font></th>
  269. <th width="21%" tdata="Average" format="#.00" align="left">累计均价:<font color="blue">######</font></th>
  270. </tr>
  271. <tr>
  272. <th width="20%" align="left">全表总的行数:<font color="blue" tdata="AllCount" format="0">###</font></th>
  273. <th width="26%" tdata="AllSum" format="#.##" align="left">
  274. 全表数量总计:<font color="blue">######</font></th>
  275. <th width="14%" align="right">全表金额总计</th>
  276. <th width="19%" tdata="AllSum" format="#,##0.00" align="right"><font color="blue" id="id02">¥###</font></th>
  277. <th width="21%" tdata="AllAverage" format="#.00" align="left">全表均价:<font color="blue">######</font></th>
  278. </tr>
  279. <tr>
  280. <th width="22%" tdata="SubCount" format="0" align="left" >
  281. 本页A型:<font color="blue" tclass="a">##</font>行<br>
  282. 本页B型:<font color="blue" tclass="b" tindex="1">##</font>行
  283. </th>
  284. <th width="22%" align="left" >
  285. 本页数量最大值:<font color="blue">
  286. <span tdata="SubMax">######</span></font><br>
  287. 本页数量最小值:<font color="blue">
  288. <span tdata="SubMin">######</span></font><br>
  289. </th>
  290. <th width="22%" align="left" colspan="3">
  291. 用公式 <font color="#009999">(id01/id02)*100</font> 计算本页金额占比:
  292. <font color="blue" tdata="(id01/id02)*100" format="#.00">#####%<br>
  293. </font>(这俩id对应"金额小计"和"金额总计")</th>
  294. </tr>
  295. </tfoot>
  296. </table>
  297. </div>
  298. <p><a href="PrintSampIndex.html">&lt;&lt;回样例目录</a></p>
  299. <script language="javascript" type="text/javascript">
  300. var LODOP; //声明为全局变量
  301. function PrintMytable(){
  302. LODOP=getLodop();
  303. LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_打印表格");
  304. LODOP.ADD_PRINT_TABLE(100,1,"99.8%",250,document.getElementById("div1").innerHTML);
  305. LODOP.PREVIEW();
  306. };
  307. </script>
  308. </body>