續(xù)補打功能說明_第1頁
續(xù)補打功能說明_第2頁
續(xù)補打功能說明_第3頁
續(xù)補打功能說明_第4頁
續(xù)補打功能說明_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

/續(xù)補打功能說明文檔在初始的打印代碼(圖一)處加入【續(xù)補打功能】的代碼.注:續(xù)補打的代碼在危重患者護理記錄單的打印代碼里面也有。(圖一)2、設(shè)置reporttree(圖二)。(圖二)設(shè)置好之后,在打印代碼末處里會自動寫入語句,privatevoid_StartReport(objectsender,EventArgse){}在括號內(nèi)加入語句,符號為分號:this。InitPrintSetting();即:4、保存.實現(xiàn)打印、續(xù)打、補打.\\*************************************************************續(xù)補打的代碼:(解決:高級打印表格式表單存在的問題,即設(shè)置的日期時間之前沒有數(shù)據(jù),在高級打印的時候第一頁會放一條明細數(shù)據(jù),然后其他的明細數(shù)據(jù)都在設(shè)置的頁數(shù)打?。egion續(xù)補打功能privateDataRow_printSetting;//打印設(shè)置數(shù)據(jù);privateint_printMode;//打印模式:1完全打印、2續(xù)打、3選擇打?。籶rivat(yī)estring_columnNameDYBZ;//打印標(biāo)志列名稱;privatestring_columnNameLRRQ;//錄入日期列名稱;privat(yī)estring_pageNumber;//要打印的頁;privat(yī)eList〈int>_printPages;//獲取要打印的頁;privateDat(yī)aTable_printAdvanceSetting;//打印高級設(shè)置信息privateint?_startPageNumber;//打印高級設(shè)置中當(dāng)前執(zhí)行的新行開始頁碼;privateDataSourceBase_dataSource;//要進行分頁處理的數(shù)據(jù)源;privat(yī)eDat(yī)aTable_dataTable;//要進行分頁處理的數(shù)據(jù)源DataTable形式的;privateint_pageColumnIndex=1;//頁面數(shù)據(jù)當(dāng)前列,一般情況下頁面都是一列的privateList〈PageBase>_isValidatedPage;//是否用要進行續(xù)打處理的頁privat(yī)eint_currentPageNo=0;//當(dāng)前頁序號(不受頁碼重置影響,記錄真實的頁碼)//數(shù)據(jù)區(qū)域打印前處理privatevoidDataBandBeforePrint(objectsender,EventArgse){if(this._printMode==2){DataBanddataBand=senderasDataBand;if(this._isValidatedPage.Contains(dataBand.Page)){if(this。_dataSource.CurrentRowNo>=this._dat(yī)aSource。RowCount){this._dat(yī)aSource。First();}foreach(varitemindataBand.AllObjects){ReportComponentBaseelement=itemasReportComponentBase;if(element==null)continue;varrow=this._dataSource。CurrentRowasDataRow;vardybz=row[this._columnNameDYBZ];element.FlagPreviewVisible=dybz==Convert.DBNull?true:!(bool)dybz;if(element。FlagPreviewVisible){varpageNo=this。_currentPageNo;if(!this。_printPages.Contains(pageNo)&&pageNo!=0){this。_printPages.Add(pageNo);}}}}}}//數(shù)據(jù)區(qū)域打印后處理privatevoidDataBandAfterPrint(objectsender,EventArgse){DataBanddataBand=senderasDataBand;if(this._isValidat(yī)edPage.Contains(dataBand.Page)){//判斷空閑區(qū)域是否能放下一行,如果不能放下就要開始新頁,考慮到當(dāng)一頁中有多列的情況,該情況下要多列都填充滿后才換頁;ilcHeight()>Report.Engine.FreeSpace){varcount=dat(yī)aBand.Columns。Count;if(count〉0&&this._pageColumnIndex<count){dataBand.StartNewPage=false;this。_pageColumnIndex++;}else{if(count<2){dataBand.StartNewPage=true;}this._pageColumnIndex=1;}}else{dataBand.StartNewPage=false;}//處理高級打印設(shè)置中設(shè)置的換行varrowNo=this._dataSource。CurrentRowNo+1;if(this._dataTable。Rows.Count〉rowNo){varlrrq=this._dataTable.Rows[rowNo][this._columnNameLRRQ]asstring;if(lrrq!=null&&lrrq。Length==16){lrrq=string。Format("{0}—{1}—{2}{3}”,lrrq.Substring(0,4),lrrq.Substring(4,2),lrrq.Substring(6,2),lrrq.Substring(8,8));Dat(yī)eTimelrrq_d;if(DateTime。TryParse(lrrq,outlrrq_d)){//反序從時間大到小,獲取第一個匹配的for(inti=this._printAdvanceSetting.Rows.Count—1;i>=0;i—-){DataRowrow=this._printAdvanceSetting。Rows[i];if(lrrq_d>=(Dat(yī)eTime)row[”SZSJ_D"]&&(row[”SZYM"]asint?)>Report.Engine.PageNo){dataBand。StartNewPage=true;this._startPageNumber=row[”SZYM"]asint?;break;}}}}}}}//其他區(qū)域處理privat(yī)evoidOtherBandPrint(objectsender,EventArgse){if(senderisPageHeaderBand){this。_currentPageNo++;//當(dāng)前頁碼遞增}int?iNewPage;//addbyguo20140813高級打印設(shè)置會多打一頁空白頁//插入空白頁if(this._startPageNumber。HasValue){varpageNo=Report.Engine.PageNo;varpage1=(senderasBandBase).PageasReportPage;for(inti=pageNo;i<this._startPageNumber;i++){varpage=newReportPage();page。Landscape=page1。Landscape;page.PaperHeight=page1.PaperHeight;page.PaperWidth=page1.PaperWidth;page。LeftMargin=page1.LeftMargin;page.RightMargin=page1。RightMargin;page。TopMargin=page1.TopMargin;page.BottomMargin=page1。BottomMargin;page。MirrorMargins=page1。MirrorMargins;page。PrintOnPreviousPage=true;Report。PreparedPages.AddPage(page);this。_currentPageNo++;//當(dāng)前頁碼遞增}iNewPage=this._startPageNumber;//addbyguo20140813高級打印設(shè)置會多打一頁空白頁this._startPageNumber=null;}else{iNewPage=0;//addbyguo20140813高級打印設(shè)置會多打一頁空白頁}switch(this._printMode){case1:varpageNo=this._currentPageNo;if(?。鬶is。_printPages.Contains(pageNo)&&pageNo?。?&&pageNo!=iNewPage—1)//addbyguo20140813高級打印設(shè)置會多打一頁空白頁{this。_printPages.Add(pageNo);}break;case2:Baseband=senderasBase;if(band==null)return;if(!this。_isValidatedPage.Contains(band。Page)){varno=this._currentPageNo;if(?。鬶is._printPages。Contains(no)&&no!=0){this。_printPages.Add(no);}return;}if(this._dataSource。CurrentRowNo〉=this._dataSource。RowCount){this。_dataSource。First();}foreach(Baseiteminband。Page。ChildObjects){Dat(yī)aBanddataBand=itemasDataBand;if(dataBand==null||dataBand.DataSource==null||dataBand.DataSource.ReferenceName!=this。_dataSource。ReferenceName){foreach(varoinitem.AllObjects){ReportComponentBaseelement=oasReportComponentBase;if(element==null)continue;varrow=this._dataSource.CurrentRowasDat(yī)aRow;if(row==null)continue;vardybz=row[this._columnNameDYBZ];element。FlagPreviewVisible=dybz==Convert.DBNull?true:!(bool)dybz;}}}break;default:break;}}//報表標(biāo)題區(qū)處理privatevoidReportTitlePrint(objectsender,EventArgse){if(this._dataTable!=null&&this._dataTable.Rows.Count>0){DataRowfirstRow=this。_dat(yī)aTable.Rows[0];varlrrq=firstRow[this._columnNameLRRQ]asstring;if(lrrq!=null&&lrrq.Length==16){lrrq=string.Format("{0}-{1}-{2}{3}",lrrq.Substring(0,4),lrrq.Substring(4,2),lrrq.Substring(6,2),lrrq.Substring(8,8));Dat(yī)eTimelrrq_d;if(Dat(yī)eTime。TryParse(lrrq,outlrrq_d)){//反序從時間大到小,獲取第一個匹配的for(inti=this._printAdvanceSetting.Rows.Count-1;i〉=0;i-—){Dat(yī)aRowrow=this。_printAdvanceSetting。Rows[i];if(lrrq_d〉=(DateTime)row["SZSJ_D"]&&(row[”SZYM"]asint?)>Report.Engine.PageNo){this._startPageNumber=row["SZYM”]asint?;break;}}}}}this。OtherBandPrint(sender,e);}//生成報表完成后的處理privatevoidFinishReport(objectsender,EventArgse){if(this._printMode==3){Report.PrintSettings.PageNumbers=this。_pageNumber;}else{System.Text。StringBuildersb=newSystem。Text。StringBuilder();for(inti=0;i<this。_printPages.Count;i++){intitem=this。_printPages[i];if(sb.Length>0){sb.Append(',');}sb.Append(this._printPages[i]);}Report.PrintSettings。PageNumbers=sb。ToString();}}//初始化打印設(shè)置信息privatevoidInitPrintSetting(){//獲取打印設(shè)置數(shù)據(jù)foreach(variteminReport.Dictionary。RegisteredItems){vartable=item.DataasDataTable;varname.Split('.');if(table!=null){switch(names[names。Length—1]){case"打印設(shè)置”:this._printSetting=table.Rows.Count==0?null:table.Rows[0];break;case”打印高級設(shè)置":this._printAdvanceSetting=table;break;default:break;}}}if(this._printSetting==null)return;//當(dāng)打印設(shè)置信息不存在將直接返回,不做任何處理;this。_printMode=Convert。ToInt32(this._printSetting["PrintMode"]);//打印模式;this。_columnNameDYBZ=this._printSetting["ColumnNameDYBZ”]asstring;//打印標(biāo)志列名稱;this。_columnNameLRRQ=this._printSetting[”ColumnNameLRRQ"]asstring;//錄入日期列名稱;this._pageNumber=this。_printSetting["PageNumbers”]asstring;//要打印的頁;//對選擇打印中傳入的頁碼進行處理;this._printPages=newList<int>();if(this._printMode==3)//只有在補打的情況下才需要考慮傳進來的頁碼;{foreach(stringiteminthis。_pageNumber.Split(',’)){if(item.Contains(”—”)){vartemp=item。Split('—’);intstartValue;intendValue;if(int.TryParse(item,outstartValue)&&int。TryParse(item,outendValue)){for(inti=startValue;i〈=endValue;i++){this。_printPages.Add(i);}}}else{intvalue;if(int.TryParse(item,outvalue)){this._printPages.Add(value);}}}}//獲取指定名稱的數(shù)據(jù)源vartableName=this。_printSetting[”TableName"]asstring;foreach(variteminReport.Dictionary.RegisteredItems){vartable=item。DataasDataTable;varname。Split(’。');if(table!=null&&names[names。Length-1]==tableName){this

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論