張捍衛(wèi)
摘要:不規(guī)則表格的處理是數(shù)據(jù)庫(kù)管理系統(tǒng)中一個(gè)十分重要的問題,研究了.NET提供的Table控件在解決通用不規(guī)則表格中的一種應(yīng)用方法,并詳細(xì)論述了在Visual Studio .NET中實(shí)現(xiàn)該方法的過程。使用結(jié)果表明,該方案處理網(wǎng)頁(yè)中不規(guī)則表格問題高效、可靠,具有良好的可擴(kuò)充性和可重用性。
關(guān)鍵詞:ASP.NET;Table控件;不規(guī)則表格
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2013)08-1821-03
在ASP.NET開發(fā)資產(chǎn)實(shí)時(shí)核算管理系統(tǒng)中,經(jīng)常要把數(shù)據(jù)以表格的形式呈現(xiàn)出來,一般使用HTML或GridView控件來實(shí)現(xiàn)。但多數(shù)表格是不規(guī)則的表格(如表1),HTML雖然能創(chuàng)建不規(guī)則的表格,但動(dòng)態(tài)創(chuàng)建表格實(shí)現(xiàn)起來比較麻煩,而.NET提供的GridView控件一般只能輸出行列整齊的表格,不能設(shè)置跨行或跨列的單元格。因此,在系統(tǒng)開發(fā)中,使用Table服務(wù)器控件,動(dòng)態(tài)創(chuàng)建表格,很好地解決了這個(gè)問題。
1.1 Table對(duì)象
Table對(duì)象的Caption屬性用來設(shè)置表格的標(biāo)題,可在標(biāo)題文本中插入換行符
來形成多行標(biāo)題。使用CaptionAlign屬性可以設(shè)置標(biāo)題文本的對(duì)齊方式,對(duì)齊方式的值有:NotSet、Top、Bottom、Left和Right,分別是未設(shè)置對(duì)齊方式、標(biāo)題與行的上邊緣對(duì)齊、與下邊緣對(duì)齊、與左邊對(duì)齊和與右邊對(duì)齊。
Table對(duì)象的Rows用于獲取表行的集合,其主要屬性和方法如下:
Count屬性:表示Rows集合的元素個(gè)數(shù),即表的總行數(shù)。
Add方法:用于添加一個(gè)新的TableRow對(duì)象,即向表中添加一行。
AddAt方法:用于在指定的位置添加一個(gè)新的TableRow對(duì)象,即向表中插入一行。
Remove方法:用于移除一個(gè)TableRow對(duì)象,即從表中移除一行。
RemoveAt方法:用于移除指定索引值的TableRow對(duì)象,即從表中移除指定索引值的行。
Clear方法:清除Rows集合中的所有元素,即清除表中的所有行。
1.2 TablelRow對(duì)象
TablelRow類的實(shí)例表示Table控件中的行。TablelRow對(duì)象的Cells屬性,表示表行中單元格的集合,Cells集合的主要屬性和方法有:
Count屬性:表示Cells集合的元素個(gè)數(shù),即列數(shù)。
Add方法:用于添加一個(gè)新的TableCell對(duì)象,即向表中添加一個(gè)單元格。
AddAt方法:用于在指定的位置添加一個(gè)新的TableCell對(duì)象,即向表行中某位置插入一個(gè)單元格。
Remove方法:用于移除一個(gè)TableCell對(duì)象,即從表行中移除一個(gè)單元格。
RemoveAt方法:用于移除指定索引值的TableCell對(duì)象,即從表行中移除指定索引值的單元格。
Clear方法:清除Cells集合中的所有元素,即清除表行中的所有單元格。
1.3 TableCell對(duì)象
TableCell對(duì)象的實(shí)例表示TableRow對(duì)象中的單元格。TableCell對(duì)象的主要屬性有:
ColumnSpan屬性:表示該單元格在呈現(xiàn)出的表中所跨越的列數(shù)。例如,如果ColumnSpan屬性值為2,表示該單元格在Table控件中占兩列。
RowSpan屬性:表示該單元格在呈現(xiàn)出的表中所跨越的行數(shù)。例如,如果RowSpan屬性值為2,表示該單元格在Table控件中占兩行。
Wrap屬性:決定是否允許單元格內(nèi)容在單元格內(nèi)換行。如果允許換行,則屬性值為True,否則為False。
Controls屬性:可以向單元格動(dòng)態(tài)添加控件。例如,瀏覽網(wǎng)頁(yè)時(shí)要在單元格中輸入信息,可以向單元格添加文本框控件,方法如下:
3 結(jié)束語
用上述方法處理不規(guī)則表格顯示數(shù)據(jù)庫(kù)數(shù)據(jù)的方法簡(jiǎn)單實(shí)用,在資產(chǎn)實(shí)時(shí)核算系統(tǒng)中得到了很好應(yīng)用。由于篇幅所限,未能盡述表格的所有相關(guān)功能,如在動(dòng)態(tài)創(chuàng)建行和列的時(shí)候,修改行和列的樣式屬性,創(chuàng)建自定義樣式的表格等,同時(shí)如何更好地分頁(yè)打印表頭也是一個(gè)值得探討的問題。總之,掌握了上述方法后,只要稍作修改,就能制作出更復(fù)雜的表格。
參考文獻(xiàn):
[1] Christian Nagel,Bill Evjen,Jay Glynn. C#高級(jí)編程[M].李敏波,譯. 3版.北京:清華大學(xué)出版社,2006.
[2] 明日科技.Visual C#開發(fā)技術(shù)大全[M].北京:人民郵電出版社,2007.
[3] 程不功.ASP.NET 2.0動(dòng)態(tài)網(wǎng)站開發(fā)教程[M].北京:清華大學(xué)出版社,2006.
[4] 邵淑霞,李德榮.Web頁(yè)中不規(guī)則表格的實(shí)現(xiàn)[J].大慶高等??茖W(xué)校學(xué)報(bào),2002,22(4):15-18.
[5] Table控件單元格的動(dòng)態(tài)合并技術(shù)[J].福建電腦,2008(3):185.