日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
ASP.NET報(bào)表打印的實(shí)現(xiàn):分頁(yè)計(jì)算方式

報(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)取出來(lái)的,因此如果單元格里的數(shù)據(jù)超出了單元格的寬度,就意味著需要撐寬單元格或者自動(dòng)折行,而自動(dòng)折行則意味著撐高單元格。

因此最常見最普通的分頁(yè)方式計(jì)算起來(lái)并不容易,你需要先把數(shù)據(jù)取出來(lái),根據(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)單,沒(méi)有那么復(fù)雜的運(yùn)算??墒莿e高興得太早,用戶的需求永遠(yuǎn)是合理且復(fù)雜的。對(duì)于固定行數(shù)的報(bào)表,用戶的目的往往是為了格式的規(guī)整統(tǒng)一,甚至有時(shí)候是為了套打。因此如果格子里的數(shù)據(jù)超出了單元格的寬度怎么辦?不能撐寬,那么自動(dòng)折行可以嗎?在不撐高單元格的前提下是可以的,那么如果撐高了怎么辦?對(duì)不起,不允許就是不允許,自己想辦法縮小字體吧。

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

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

暈了吧,補(bǔ)多少空行呢?不一定,只能根據(jù)取出來(lái)的記錄數(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)然縱向的情況也同樣存在。

因此總的來(lái)說(shuō),很小的一個(gè)分頁(yè)問(wèn)題,卻會(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)屬性,比如說(shuō)固定行數(shù)的分頁(yè)方式,需要配置每頁(yè)顯示的行數(shù)等;自動(dòng)適應(yīng)紙張尺寸的方式,需要配置橫向適應(yīng)還是縱向適應(yīng)。

效果演示

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


網(wǎng)站標(biāo)題:ASP.NET報(bào)表打印的實(shí)現(xiàn):分頁(yè)計(jì)算方式
網(wǎng)頁(yè)URL:http://www.5511xx.com/article/dpdgjgd.html