成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET報(bào)表打印的實(shí)現(xiàn):分頁(yè)計(jì)算方式

開發(fā) 后端
本文介紹了ASP.NET報(bào)表打印的實(shí)現(xiàn),主要闡述了兩種分頁(yè)的計(jì)算方式。比較常見的報(bào)表的分頁(yè),一般是根據(jù)紙張尺寸自動(dòng)分頁(yè)。

報(bào)表離不開打印,打印離不開分頁(yè)。

常見的ASP.NET報(bào)表打印方法

比較常見的報(bào)表的分頁(yè),一般是根據(jù)紙張尺寸自動(dòng)分頁(yè)。即根據(jù)紙張的尺寸和頁(yè)邊距,計(jì)算出每一頁(yè)能擺下多少行多少列,從而計(jì)算出每一頁(yè)的報(bào)表,然后進(jìn)行打印或者展現(xiàn)。

這種方式,對(duì)于行列的寬度、高度固定的情況,比較容易實(shí)現(xiàn),很簡(jiǎn)單的計(jì)算罷了。可是不要忘了,單元格里的數(shù)據(jù)是從數(shù)據(jù)庫(kù)里動(dòng)態(tài)取出來的,因此如果單元格里的數(shù)據(jù)超出了單元格的寬度,就意味著需要撐寬單元格或者自動(dòng)折行,而自動(dòng)折行則意味著撐高單元格。

因此最常見最普通的分頁(yè)方式計(jì)算起來并不容易,你需要先把數(shù)據(jù)取出來,根據(jù)每一行的數(shù)據(jù)長(zhǎng)度先判斷是否存在自動(dòng)折行或者撐寬單元格的現(xiàn)象,然后才能計(jì)算出每一頁(yè)的行數(shù)和列數(shù)。如果存在自動(dòng)折行,那么每一頁(yè)的行數(shù)并不會(huì)相同,因?yàn)橹皇悄承┬凶詣?dòng)折行。

另一種也比較常見的分頁(yè)方式是固定行數(shù)分頁(yè),即規(guī)定每一頁(yè)必須且只能顯示固定的行數(shù),多余的顯示到下一頁(yè)。

這種分頁(yè)方式似乎更加簡(jiǎn)單,沒有那么復(fù)雜的運(yùn)算。可是別高興得太早,用戶的需求永遠(yuǎn)是合理且復(fù)雜的。對(duì)于固定行數(shù)的報(bào)表,用戶的目的往往是為了格式的規(guī)整統(tǒng)一,甚至有時(shí)候是為了套打。因此如果格子里的數(shù)據(jù)超出了單元格的寬度怎么辦?不能撐寬,那么自動(dòng)折行可以嗎?在不撐高單元格的前提下是可以的,那么如果撐高了怎么辦?對(duì)不起,不允許就是不允許,自己想辦法縮小字體吧。

縮小字體也不是那么容易的,因?yàn)槿绻麅H僅根據(jù)單元格的寬度來縮小字體,往往會(huì)導(dǎo)致文字過分縮小而缺少可讀性。因此需要根據(jù)單元格的高度和寬度進(jìn)行綜合計(jì)算,既要折行又要縮小,從而算出一個(gè)***的縮小系數(shù),保證可讀性。

解決了縮小的問題,事情還沒結(jié)束。由于數(shù)據(jù)是從數(shù)據(jù)庫(kù)里動(dòng)態(tài)取出來的,那么記錄的行數(shù)是不固定的,假設(shè)要求一頁(yè)顯示10行,而你取出來的記錄正好是15行,那么意味著第二頁(yè)只有5行,此時(shí)意味著第二頁(yè)的格式不標(biāo)準(zhǔn)了,怎么辦?于是用戶很自然地提出補(bǔ)足空行。

暈了吧,補(bǔ)多少空行呢?不一定,只能根據(jù)取出來的記錄數(shù)結(jié)合每頁(yè)顯示的行數(shù)進(jìn)行動(dòng)態(tài)計(jì)算。

當(dāng)然還有更復(fù)雜的分頁(yè)方式,比如自動(dòng)適應(yīng)紙張大小。這種情況更多見于動(dòng)態(tài)橫向擴(kuò)展的報(bào)表。由于報(bào)表的列數(shù)不固定,可是用戶希望不管多少列,都在一張紙里打印,不要橫向分頁(yè),此時(shí)需要根據(jù)最終的列數(shù)動(dòng)態(tài)調(diào)整列寬;當(dāng)然縱向的情況也同樣存在。

因此總的來說,很小的一個(gè)分頁(yè)問題,卻會(huì)引發(fā)一系列的麻煩,如果都要自己編程解決,實(shí)在太麻煩了,而且很難做的通用。博計(jì)報(bào)表在打印分頁(yè)方面考慮很周到,提供了一系列的簡(jiǎn)單配置,使用方便。

ASP.NET報(bào)表打印實(shí)現(xiàn)步驟

1、設(shè)計(jì)報(bào)表;

2、設(shè)置分頁(yè)方式及相關(guān)屬性,比如說固定行數(shù)的分頁(yè)方式,需要配置每頁(yè)顯示的行數(shù)等;自動(dòng)適應(yīng)紙張尺寸的方式,需要配置橫向適應(yīng)還是縱向適應(yīng)。

效果演示

報(bào)表分頁(yè)–.NET WEB報(bào)表打印時(shí)的分頁(yè)

以上就介紹了ASP.NET報(bào)表打印的實(shí)現(xiàn)方法。

【編輯推薦】

  1. 變相實(shí)現(xiàn)動(dòng)態(tài)ASP.NET水晶報(bào)表
  2. 實(shí)例講解:ASP.NET水晶報(bào)表教程
  3. 淺談ASP.NET報(bào)表控件
  4. 概述ASP.NET水晶報(bào)表
  5. VS.Net中的水晶報(bào)表的應(yīng)用
責(zé)任編輯:yangsai 來源: .NET報(bào)表知識(shí)庫(kù)
相關(guān)推薦

2009-07-28 14:47:18

ASP.NET MVC

2009-07-22 17:45:11

ASP.NET插件

2009-11-06 09:23:41

ASP.NET高效分頁(yè)

2009-09-10 09:50:47

ASP.NET MVC

2012-04-23 15:10:18

ASP.NET

2009-07-22 16:02:39

ASP.NET MVCPagedList

2009-07-27 16:19:59

ASP.NET報(bào)表控件

2009-08-02 11:48:58

ASP.NET水晶報(bào)表ASP.NET

2009-08-12 14:10:37

asp.net分頁(yè)代碼

2009-08-04 14:23:36

ASP.NET查詢分頁(yè)

2011-07-04 15:41:14

AjaxASP.NET

2009-07-29 09:29:06

ASP.NET水晶報(bào)表

2012-04-13 10:05:24

ASP.NET

2009-08-14 13:37:25

ASP.NET靜態(tài)頁(yè)面

2009-08-04 14:36:00

ASP.NET分頁(yè)管理

2010-03-19 09:17:16

ASP.NET MVC

2009-03-13 09:48:33

ASP.NETAjaxJQuery

2011-07-12 13:53:25

ASP.NETAjax

2012-05-07 13:23:47

ASP.NET

2009-07-30 13:57:39

ASP.NET水晶報(bào)表ASP.NET
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产激情精品 | 福利视频一区 | 久久精品中文 | 国产精品欧美一区二区三区不卡 | 在线视频中文字幕 | 日韩中文字幕在线播放 | 欧美日韩在线视频一区 | 久久免费视频网 | 久久久www成人免费无遮挡大片 | 久久天天 | 丝袜天堂 | 精品国产91 | 国产美女在线精品免费 | 欧美日韩视频在线第一区 | 久久精品天堂 | 久久免费视频在线 | 一区二区三区欧美在线 | 久久精品亚洲精品国产欧美 | 色影视 | 国产成人综合一区二区三区 | 久热爱 | 狠狠的日| 在线久草 | 91精品国产综合久久久亚洲 | 91中文字幕在线 | 亚洲一区二区在线视频 | 噜啊噜在线 | 国产成人久久精品一区二区三区 | 日韩免费av一区二区 | 欧美国产日韩在线 | 午夜网站视频 | 在线看av的网址 | 日本精品一区二区 | 成人在线观看免费视频 | 欧美日韩高清一区二区三区 | 国产精品成人一区二区三区 | 韩国精品在线观看 | 亚洲欧美日韩精品久久亚洲区 | 日韩在线小视频 | 精品欧美乱码久久久久久 | 97伦理电影 |