999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于B/S結(jié)構(gòu)遠(yuǎn)程web報(bào)表打印技術(shù)的研究與實(shí)現(xiàn)

2009-07-05 10:02:28
現(xiàn)代經(jīng)濟(jì)信息 2009年23期
關(guān)鍵詞:數(shù)據(jù)庫(kù)結(jié)構(gòu)用戶

周 屹

摘要:本系統(tǒng)使用XML作為報(bào)表的描述語(yǔ)言,利用.NET技術(shù)編寫打印控件。在打印報(bào)表時(shí),把打印控件和報(bào)表傳遞給客戶端(瀏覽器)。系統(tǒng)根據(jù)用戶的要求,結(jié)合不同報(bào)表模板自動(dòng)、動(dòng)態(tài)的生成相應(yīng)報(bào)表文件并完成打印。系統(tǒng)提供了強(qiáng)大的數(shù)據(jù)篩選、分析功能,為用戶決策提供了進(jìn)一步支持。

關(guān)鍵詞:WEB報(bào)表XML.NET控件打印

隨著信息技術(shù)的普及與發(fā)展,在管理信息系統(tǒng)中,報(bào)表打印,作為不可缺少的一部分已被我們接受。可以這樣說(shuō),我們的應(yīng)用系統(tǒng)絕大多數(shù)都涉及到報(bào)表的打印問(wèn)題。

一、B/s結(jié)構(gòu)及報(bào)表打印的主要困難

因特網(wǎng)的出現(xiàn)給人們信息交流帶來(lái)了一場(chǎng)新的革命,通過(guò)它,人與人之間的時(shí)空距離大大縮短,工作效率大大提高。由于信息共享與效率提高的需要,用于企業(yè)內(nèi)部的Clien/Server結(jié)構(gòu)的應(yīng)用程序已逐漸不能滿足人們的需要。越來(lái)越多的Browser/Server結(jié)構(gòu)的應(yīng)用程序被提了出來(lái)。雖然B/S結(jié)構(gòu)的誕生帶來(lái)了不少好處,但也有許多不足。其中一個(gè)重要的問(wèn)題是,報(bào)表打印明顯不如以前靈活、規(guī)范。許多普通的功能,如紙張的換頁(yè)排版、復(fù)雜報(bào)表的精確定位等,都無(wú)法做到像C/S結(jié)構(gòu)下那樣方便。要打印一張現(xiàn)在瀏覽器上看到的報(bào)表,其打印方式將僅僅是按照普通的頁(yè)面來(lái)處理,每一頁(yè)的頁(yè)眉、頁(yè)腳、標(biāo)題及表頭都無(wú)法根據(jù)用戶的要求來(lái)實(shí)現(xiàn),特別是對(duì)于一些復(fù)雜報(bào)表和需要套打的報(bào)表更是無(wú)能為力。

目前解決WEB報(bào)表打印的途徑:水晶報(bào)表、使用現(xiàn)成的打印控件、AetiveX控件。

二、B/S結(jié)構(gòu)下遠(yuǎn)程web報(bào)表打印系統(tǒng)的設(shè)計(jì)

(一)系統(tǒng)總體結(jié)構(gòu)。整個(gè)系統(tǒng)分成了三大部分。第一部分,為報(bào)表設(shè)計(jì)用戶根據(jù)自己的需要設(shè)計(jì)出相應(yīng)的報(bào)表模板存入數(shù)據(jù)庫(kù)中。第二部分,為報(bào)表生成部分。用戶選擇相應(yīng)模板,服務(wù)器解析相應(yīng)模板并且結(jié)合用戶輸入的一些參數(shù),動(dòng)態(tài)地生成了我們所需要的報(bào)表文件。第三部分,即報(bào)表的打印過(guò)程,就是分別把打印控件和第二部分中生成的報(bào)表文件傳送到客戶端,在本地進(jìn)行解析打印,直接控制打印機(jī)進(jìn)行輸出的過(guò)程。

(二)系統(tǒng)工作流程。對(duì)整個(gè)系統(tǒng)的工作流程,也分三大部分進(jìn)行闡述。其中報(bào)表生成器部分僅對(duì)規(guī)整報(bào)表適用。

1、報(bào)表設(shè)計(jì)器部分。在本系統(tǒng)中,只是對(duì)規(guī)整報(bào)表設(shè)計(jì)器進(jìn)行了實(shí)現(xiàn),具體步驟和方法如下:

首先,用戶在瀏覽器中輸入數(shù)據(jù)庫(kù)名稱,遠(yuǎn)程連接數(shù)據(jù)庫(kù)服務(wù)器。若連接成功,則用該庫(kù)中的所有表名動(dòng)態(tài)地填充下拉列表框,用戶從此下拉列表中選擇所需的數(shù)據(jù)表。第二步,輸入頁(yè)面設(shè)置信息。第三步,輸入報(bào)表的列數(shù)。第四步,輸入報(bào)表名稱和附加條目。第五步,點(diǎn)擊完成按鈕,生成報(bào)表模板存入數(shù)據(jù)庫(kù)中。

2、報(bào)表文件生成部分。(1)把模板數(shù)據(jù)庫(kù)中現(xiàn)有的所有報(bào)表模板的名稱動(dòng)態(tài)地填入下拉列表框中供用戶選擇。(2)客戶端選擇所需打印的報(bào)表模板。(3)根據(jù)提取出的seleet語(yǔ)句,連接數(shù)據(jù)庫(kù)服務(wù)器,生成我們所需要的數(shù)據(jù)集。(4)根據(jù)第二步中提取出的查詢字段接口,動(dòng)態(tài)生成報(bào)表的查詢頁(yè)面。(5)動(dòng)態(tài)地生成報(bào)表文件,供打印使用。

3、報(bào)表的打印部分。無(wú)論是報(bào)表設(shè)計(jì)器還是報(bào)表生成器,它們最終的結(jié)果都是為了生成符合我們規(guī)定的XML報(bào)表文件,把它傳輸?shù)娇蛻舳诉M(jìn)行打印。而完成這些打印工作的則是通過(guò)我們的編寫的打印控件進(jìn)行的。通過(guò)打印控件對(duì)報(bào)表文件的解析和對(duì)打印機(jī)的控制,來(lái)實(shí)現(xiàn)我們所需要的諸如分頁(yè)、精確定位、格式控制等一系列功能。

(三)系統(tǒng)解決的主要問(wèn)題。本系統(tǒng)的出發(fā)點(diǎn)主要是為了解決B/S結(jié)構(gòu)下報(bào)表打印的一些難點(diǎn)問(wèn)題;為一般的小型系統(tǒng)不花費(fèi)大量精力和財(cái)力的前提下,很好地解決B/S結(jié)構(gòu)下遠(yuǎn)程報(bào)表打印的一些常見(jiàn)問(wèn)題,主要包括以下幾種:解決規(guī)整報(bào)表的分頁(yè)問(wèn)題、頁(yè)碼的打印。附加條目和復(fù)雜報(bào)表的精確定位、簡(jiǎn)單套打的實(shí)現(xiàn)、對(duì)簡(jiǎn)單的圖形報(bào)表的打印輸出做了一些初步的研究。

三、報(bào)表結(jié)構(gòu)的設(shè)計(jì)

(一)幾種常見(jiàn)的報(bào)表類型

1、規(guī)整報(bào)表:規(guī)整報(bào)表又稱長(zhǎng)報(bào)表。它通常要分幾頁(yè)顯示,也是最常見(jiàn)的報(bào)表,其最大的特點(diǎn)是在固定的表頭下重復(fù)著若干行類型相同的記錄。

2、復(fù)雜報(bào)表:之所以稱之為復(fù)雜報(bào)表,是因?yàn)樗男辛械姆植疾幌褚?guī)整報(bào)表那樣整齊、有規(guī)律。

3、套打報(bào)表:所謂套打,就是指在打印紙的規(guī)定位置上輸入相應(yīng)的信息。與其它報(bào)表打印不同的是,它并不要完整的打印出報(bào)表的標(biāo)題、邊框等信息,我們需要的是在規(guī)定的地方打印出相應(yīng)的數(shù)據(jù)就可以了。

(二)報(bào)表設(shè)計(jì)器的實(shí)現(xiàn)

1、設(shè)計(jì)思路、要生成一個(gè)報(bào)表模板,首先確定的是這個(gè)報(bào)表所需的數(shù)據(jù)源;接下來(lái)確定頁(yè)面設(shè)置中的一系列信息;確定報(bào)表的列數(shù);設(shè)置報(bào)表名稱、附加條目信息、各列的標(biāo)題、各列的寬度;為每列選擇對(duì)應(yīng)的字段:選擇用作篩選數(shù)據(jù)用的接口字段與需要進(jìn)行小計(jì)的字段。我們把所有的這些信息提取出來(lái),按照相應(yīng)的規(guī)則組成XML模板。

2、步驟與方法。1) 先需要確定報(bào)表設(shè)計(jì)的數(shù)據(jù)源。2) 列出數(shù)據(jù)庫(kù)中的所有表名,動(dòng)態(tài)地填充到下拉列表框中,供用戶選擇。3) 輸入頁(yè)面設(shè)置信息和報(bào)表的列數(shù)。4) 彈出報(bào)表設(shè)計(jì)界面。5) 報(bào)表模板的生成。

四、結(jié)論與展望

本系統(tǒng)主要完成了遠(yuǎn)程報(bào)表打印時(shí),瀏覽器打印功能無(wú)法完成的一些功能。通過(guò)自己編寫的打印控件在客戶端對(duì)XML格式的報(bào)表文件進(jìn)行格式解析,直接控制本地打印機(jī)進(jìn)行輸出。對(duì)于打印控件和報(bào)表文件,是利用H,ITP協(xié)議通過(guò)默認(rèn)的80端口進(jìn)行傳輸,從一定程度上提高了系統(tǒng)的安全性。

雖然本系統(tǒng)只給出了簡(jiǎn)單的規(guī)整報(bào)表設(shè)計(jì)器,但是其它類型的報(bào)表模板的結(jié)構(gòu)設(shè)計(jì)是作者對(duì)現(xiàn)有的比較流行的設(shè)計(jì)器生成的模板文件進(jìn)行分析后總結(jié)出來(lái)的,以后完全可以在B/S結(jié)構(gòu)下完成其它類型報(bào)表的設(shè)計(jì)器。在結(jié)構(gòu)的組織上,本系統(tǒng)充分考慮到以后的擴(kuò)展,如果我們要增加其它類型報(bào)表的打印,只要定義出相應(yīng)的格式控制標(biāo)簽和增加相應(yīng)的解析程序,對(duì)原來(lái)的結(jié)構(gòu)無(wú)需做大的改動(dòng)。

雖然打印控件是用.NET技術(shù)編寫的,但是它的運(yùn)行對(duì)服務(wù)器端沒(méi)有任何要求。如果服務(wù)器端能夠用其它的方式提供相應(yīng)格式的XML報(bào)表文件,利用此打印控件將不會(huì)對(duì)原來(lái)的服務(wù)器系統(tǒng)造成任何負(fù)擔(dān)。而對(duì)遠(yuǎn)程客戶端,則不需要在打印時(shí)進(jìn)行下載注冊(cè)或是安裝特定的打印系統(tǒng)。

猜你喜歡
數(shù)據(jù)庫(kù)結(jié)構(gòu)用戶
《形而上學(xué)》△卷的結(jié)構(gòu)和位置
論結(jié)構(gòu)
數(shù)據(jù)庫(kù)
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
論《日出》的結(jié)構(gòu)
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數(shù)據(jù)庫(kù)
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
主站蜘蛛池模板: 狠狠色狠狠综合久久| 蜜芽一区二区国产精品| 欧美一级高清片久久99| 国产最爽的乱婬视频国语对白| 亚洲国模精品一区| 国产精品欧美在线观看| 国产成人精品第一区二区| 欧美日韩一区二区三| 中文字幕永久视频| 亚洲日韩精品伊甸| 成人精品免费视频| 69视频国产| 午夜啪啪网| lhav亚洲精品| 欧美日韩成人在线观看| 69综合网| 男人天堂亚洲天堂| 9cao视频精品| 欧美在线视频不卡| 萌白酱国产一区二区| 欧美日韩国产精品va| 国产91在线免费视频| 国产女同自拍视频| 精品超清无码视频在线观看| 国产成人亚洲欧美激情| 老司机aⅴ在线精品导航| 亚洲成AV人手机在线观看网站| 日本久久久久久免费网络| 宅男噜噜噜66国产在线观看| 国产高清不卡视频| 亚洲综合婷婷激情| 毛片最新网址| 成年人国产视频| 91麻豆精品视频| 成人在线观看一区| 久久99国产综合精品女同| 97久久精品人人做人人爽| 激情乱人伦| 一级毛片视频免费| 成色7777精品在线| 国产青榴视频| 亚洲天堂区| 国产伦片中文免费观看| 亚洲午夜久久久精品电影院| 高清无码不卡视频| 免费播放毛片| 乱系列中文字幕在线视频| 午夜日b视频| 亚洲中文字幕久久精品无码一区| 亚洲A∨无码精品午夜在线观看| 99re视频在线| 久久黄色影院| 台湾AV国片精品女同性| 人妻中文久热无码丝袜| 无码内射在线| 国产在线观看一区二区三区| 久久久久夜色精品波多野结衣| 日韩欧美国产三级| 精品夜恋影院亚洲欧洲| 在线视频亚洲欧美| 国产99精品久久| 日韩激情成人| 乱码国产乱码精品精在线播放| 熟女成人国产精品视频| 亚洲国产精品一区二区第一页免 | 91成人在线观看视频| 538国产视频| 日本一区高清| 国产第一页免费浮力影院| 好紧太爽了视频免费无码| 亚洲中文字幕97久久精品少妇| 永久成人无码激情视频免费| 亚洲毛片网站| 亚洲国产精品无码AV| 亚洲综合二区| 欧美高清国产| 99精品在线视频观看| 精品久久综合1区2区3区激情| 日本精品αv中文字幕| 国产福利影院在线观看| 色婷婷电影网| 亚洲无码A视频在线|