??
字號(hào):
姓 名: 周方勇
Email: flygoldfish@sina.com.cn
2004年7月
完成了整體的框架、涉及打印的幾個(gè)對(duì)話框、核心打印程序及幾個(gè)基本打印對(duì)象并由BillPrinter類(lèi)將其組織起來(lái),程序基本定型。
本程序?yàn)橥ㄓ么蛴〕绦颍瑔螕?jù)、會(huì)計(jì)憑證、發(fā)票清單、報(bào)表、任意復(fù)雜表格、合并表格如工礦企業(yè)合同都可以由系統(tǒng)提供的幾個(gè)默
認(rèn)打印對(duì)象組合打印。
DataGrid、DataTable、MSHFlexGrid等二維形式全部可以打印。
部分對(duì)象如PrinterMargins、Sewing、GridLineFlag、GridMergeFlag等提供圖例,以促進(jìn)理解。
后期版本將提供XML描述、SQL數(shù)據(jù)源的打印,并用管理器管理任意多個(gè)網(wǎng)格、文本對(duì)象、圖象等,用戶(hù)可以隨意定義。
2004年8月初
為一些類(lèi)或程序?qū)懮献⑨專(zhuān)缦拢?
/// 程序提供:周方勇;Email:flygoldfish@sina.com。
/// 請(qǐng) 關(guān) 注:WebMIS.Net快速開(kāi)發(fā)工具,不寫(xiě)一行程序開(kāi)發(fā)B/S架構(gòu)下MIS、OA、CRM、人事管理、檔案管理等數(shù)據(jù)庫(kù)網(wǎng)頁(yè)系統(tǒng)。簡(jiǎn)單、實(shí)用、穩(wěn)定、可靠。
/// 下 載:
/// 上海奧聯(lián):WWW.AlinkSoft.COM
/// 用友華表:WWW.CellSoft.CC
///★★★★★您可以免費(fèi)使用此程序,但是請(qǐng)您保留此說(shuō)明,以維護(hù)知識(shí)產(chǎn)權(quán)★★★★★
2004年08月07日
1、將框架作了部分調(diào)整,并且將打印基本對(duì)象的基類(lèi)Printer作了調(diào)整。
由于打印對(duì)象的定位及打印區(qū)域受PrintDocument、Sewing影響,為了方便Printer的子類(lèi)不必在每次實(shí)例化后設(shè)置這
兩個(gè)對(duì)象,故將PrintDocument、Sewing放在一個(gè)類(lèi)中作為全局靜態(tài)變量,現(xiàn)刪除這兩個(gè)全局靜態(tài)變量, 改在Printer
的構(gòu)造函數(shù)中,為每個(gè)子類(lèi)提供一個(gè)默認(rèn)的PrintDocument、Sewing實(shí)例對(duì)象。
2、為GridBase擴(kuò)充了幾個(gè)屬性與方法,由于字段太多,每次增加或修改字段后要去構(gòu)造函數(shù)中去修改他們的初始化,
太麻煩了,所以將它們的初始化直接放在定義處,并把相應(yīng)的屬性及相關(guān)方法直接放在字段后,并用#region指令將
它們折疊起來(lái),便于維護(hù)。
3、增加了ReDimArrString(string[,] arrStr,int rows,int cols),即重定義二維字符數(shù)組,因?yàn)榫W(wǎng)格的行列數(shù)可能要改
變,但不能因?yàn)樗鼈兏淖兞硕鴣G失原有的數(shù)據(jù),因此寫(xiě)此程序保留新定義的行列,但保留和原有行列數(shù)相交的部分?jǐn)?shù)據(jù)。
4、應(yīng)用設(shè)計(jì)模式原理重新組織IPrinterPageSetting、PrinterPageSetting、WinPrinterPageSetting、WebPrinterPageSetting。
WebPrinterPageSetting待進(jìn)一步完善。
2004年08月08日
1、將以往程序優(yōu)化
2、將DrawGrid類(lèi)中DrawGridLine(...)、DrawGridText(...)、DrawGridBorder(...)參數(shù)最全的核心函數(shù)改為protected,提供public的
無(wú)參方法供實(shí)例化對(duì)象調(diào)用;
由于在指定的區(qū)域內(nèi)可能繪制不完網(wǎng)格,因此上面的幾個(gè)函數(shù)可以會(huì)將返回類(lèi)型void改為一個(gè)描述繪制結(jié)果的對(duì)象;
SetText(int row,int col,string text)、SetText(int row,int col)將在后期版本中提供.Row[index].Text的屬性;
TransGrid()、ResetTransGrid()是在設(shè)計(jì)時(shí)為了能做任意的縮放的變換提供的,待進(jìn)一步完善。
3、對(duì)Printer類(lèi)中的ReSetVariableVal()、GetPrinterMargins()進(jìn)行修改,以適應(yīng)對(duì)紙張進(jìn)行調(diào)整特別是橫向、豎向打印的支持。
2004年08月09日
1、解決分頁(yè)問(wèn)題,主要是有些對(duì)象每頁(yè)都重復(fù)打印,使得條件復(fù)雜。
2004年08月10日
1、13:42將源程序傳給資深程序員李峰;
2、計(jì)劃增加每頁(yè)小計(jì)。
2004年08月11日
1、為網(wǎng)格增加畫(huà)對(duì)角線的功能,以滿(mǎn)足中國(guó)人表格的特點(diǎn);
2、將Graphics、PrintDocument、Sewing、RectangleF、Height、Draw()重新組織在IDraw里,并在
BillPrinter中增加private void OutObject(IDraw outer),使每個(gè)對(duì)象輸出時(shí)調(diào)用此方法,提高代碼重用率;
2004年08月14日
1、忘了,反正又把程序看了看,修修補(bǔ)補(bǔ)做了些調(diào)整。
2004年08月15日
1、將分頁(yè)又重新簡(jiǎn)化了一下,主要是打印Body上用了數(shù)據(jù)行指針;
2004年08月16日
1、發(fā)布V1.0源碼版,程序名稱(chēng)為MIS金質(zhì)打印王。
2、在CSDN上發(fā)布貼子:
.^^.開(kāi)源:C#.NET開(kāi)發(fā)的MIS打印程序,各種網(wǎng)格如DataGrid打印、DataTable、HtmlTable等二維形式全搞定,源碼免費(fèi)下載
http://community.csdn.net/Expert/topic/3278/3278050.xml?temp=.5012934
2004年08月17日
1、在CSDN上發(fā)布文章:
開(kāi)源:.NET環(huán)境下有關(guān)打印頁(yè)面設(shè)置、打印機(jī)設(shè)置、打印預(yù)覽對(duì)話框的實(shí)現(xiàn)
http://blog.csdn.net/flygoldfish/archive/2004/08/17/77208.aspx
2、應(yīng)廣大網(wǎng)友來(lái)信要求,計(jì)劃將PrinterPageSetting目錄開(kāi)源到演示程序,以后逐一以文章的形式全部開(kāi)放。
2004年08月18日
1、將PrinterPageSetting目錄即(頁(yè)面設(shè)置、打印機(jī)設(shè)置、打印預(yù)覽)源碼加入演示程序。
2、在MisPrinter中添加屬性,DataSource,這樣,僅需幾句話就可以打印了,如:
MisPrinter webmis = new MisPrinter(); //申明并實(shí)例化打印組件
webmis.Title = "WebMIS.Net快速開(kāi)發(fā)工具\(yùn)nWWW.AlinkSoft.COM"; //網(wǎng)格標(biāo)題
webmis.DataSource = this.dataGrid1; //DataGrid作為數(shù)據(jù)源
webmis.Preview(); //打印預(yù)覽
注意:將將MisPrinter中的Draw(Graphics g)打印各個(gè)對(duì)象時(shí)加一下 printerobject != null的判斷,如
if (mCurrentPageIndex == 1 || _caption.IsDrawAllPage)...
改為
if (_caption != null && (mCurrentPageIndex == 1 || _caption.IsDrawAllPage))...
否則可能會(huì)出錯(cuò)。
3、將2的應(yīng)用加到了frmPrint.cs ,做一個(gè)簡(jiǎn)單的打印。
2004年08月19日
1、將PrinterPageSetting目錄即(頁(yè)面設(shè)置、打印機(jī)設(shè)置、打印預(yù)覽)源碼加入演示程序。
2、發(fā)布V1.1源碼版,程序名稱(chēng)為MIS金質(zhì)打印王。
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -