轉(zhuǎn)帖|其它|編輯:郝浩|2010-12-21 15:09:56.000|閱讀 902 次
概述:本文的目標是通過MultiRow快速開發(fā)一個簡單的WinForm數(shù)據(jù)庫應(yīng)用 - "員工信息管理系統(tǒng)"。 其中會使用到MulitRow提供的部分內(nèi)置的Cell類型、MultiRow模板創(chuàng)建、以及MulitRow的打印功能。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
本文的目標是通過MultiRow快速開發(fā)一個簡單的WinForm數(shù)據(jù)庫應(yīng)用 - "員工信息管理系統(tǒng)"。 其中會使用到MulitRow提供的部分內(nèi)置的Cell類型、MultiRow模板創(chuàng)建、以及MulitRow的打印功能。
準備數(shù)據(jù)庫
首先,我們使用Microsoft Access 2007數(shù)據(jù)庫,創(chuàng)建一個數(shù)據(jù)表,命名為Employees,創(chuàng)建一些字段,給每個字段指定數(shù)據(jù)類型。請看下圖:
字段數(shù)據(jù)類型和名字確定后,切換到DataSheet View模式下,開始填入數(shù)據(jù),如下圖所示:
傳統(tǒng)的表格控件在展示數(shù)據(jù)表當中的一條記錄時,大部分都是將一條記錄展示在表格控件當中獨立的一行里,每行當中的列對應(yīng)數(shù)據(jù)表當中的一列,比如.net framework 提供的DataGridView控件,它做數(shù)據(jù)綁定綁定之后,如下圖所示:
上面創(chuàng)建的數(shù)據(jù)庫有19個字段,如果使用DataGridView展示,應(yīng)用程序?qū)⑿枰鼘挼木嚯x才能完全展示一條記錄。這樣導(dǎo)致可讀性大打折扣。因此,對于一條數(shù)據(jù)表記錄可以自由布局,增強可讀性和美觀性是表格類控件一直前進的方向之一。
而使用MulitRow,你可以隨心所欲地在MulitRow的一個Row上面安排每個Cell的排列位置,甚至可以讓多個Cell疊加,讓每個Cell來展示數(shù)據(jù)表記錄當中的每個數(shù)據(jù)域。這時候你需要做的是打開Visual Studio,創(chuàng)建一個Windows Forms Application工程,然后添加一個MultiRow的模板(Template),至于如何添加模板和使用MulitRow提供的集成模板設(shè)計器,可以參考之前的三篇文章。
編輯模板
在創(chuàng)建模板的時候,我們需要根據(jù)數(shù)據(jù)庫當中的不同字段類型選擇不同的Cell類型來展示數(shù)據(jù)。
本例中,我只使用了9種Cell類型,根據(jù)自己的喜好擺出來下面的布局形式:
所有的Cell都排布在模板的Row區(qū)域當中,這個Row在模板加載到GcMultiRow控件之后,會根據(jù)數(shù)據(jù)記錄條數(shù)發(fā)生迭代。另外,我根據(jù)不同的數(shù)據(jù)域類型,選擇了不同的Cell類型展示數(shù)據(jù),其中:
當Cell的位置擺放好之后,需要將每個數(shù)據(jù)Cell跟數(shù)據(jù)表當中的字段關(guān)聯(lián)起來,讓這個Cell在運行起來之后顯示特定的數(shù)據(jù)列當中的值。可以使用MultiRow模板設(shè)計器提供的TemplateProperty管理器或者屬性管理器來設(shè)置每個數(shù)據(jù)Cell的DataField屬性,將其和數(shù)據(jù)表的列名相關(guān)聯(lián),這樣模板加載之后,每個數(shù)據(jù)Cell就可以顯示數(shù)據(jù)表當中對應(yīng)的列了。
如果覺得模板的樣式過于單調(diào),可以需要調(diào)節(jié)Template當中的相關(guān)Style屬性來設(shè)置外觀,可以參考MulitRow幫助文檔中"如何設(shè)置Style和皮膚"章節(jié)。我設(shè)計了一個樣式,如下圖所示:
應(yīng)用模板
完成上面工作后,一個基本的模板就設(shè)計好了。剩下的工作就是將Template應(yīng)用到一個GcMultiRow控件。我們在Form上添加一個GcMultiRow控件,然后將設(shè)計好的Template設(shè)置給他的Template屬性,并且給GcMultiRow控件添加數(shù)據(jù)源,以及設(shè)置一些屬性。
完成應(yīng)用程序
最后,可以在Form當中添加兩個ToolStrip,用來展示導(dǎo)航和打印功能。之后運行工程,效果如下:
可以點擊Form底部的按鈕來切換上一個和下一個記錄,通過Form頂部的按鈕來預(yù)覽打印效果。
值得一提的是,上面應(yīng)用程序僅僅顯示了GcMultiRow控件當中的一個Row,也就是數(shù)據(jù)表當中的一條記錄,我將Form的大小調(diào)節(jié)的剛好跟一個Row的大小相當,因此每次可以瀏覽一個Row,通過點擊導(dǎo)航條上面的按鈕,可以使用GcMultiRow提供的按行滾動的效果,看起來就像是一條一條在瀏覽。這時候,如果你將Form高度拉大,你會看到多個Row存在于Form之上,就像一個一個卡片一樣,請看下圖:
你也可以保持Form上面不管如何放縮都保持只有一個Row,這個需要寫幾行代碼,在這里我就不演示了,如果感興趣,可以訪問GCDN的MulitRow專區(qū),我們可以一起討論一些細節(jié)的問題。
預(yù)覽和打印
MultiRow也提供了打印功能,以及各種打印模式和設(shè)置,下面是使用SingleRow打印模式,保證每頁只打印一條記錄,打印預(yù)覽效果如下所示:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:博客轉(zhuǎn)載