APP下载

ASP.NET中不规则表格的动态实现

2013-04-29张捍卫

电脑知识与技术 2013年8期

张捍卫

摘要:不规则表格的处理是数据库管理系统中一个十分重要的问题,研究了.NET提供的Table控件在解决通用不规则表格中的一种应用方法,并详细论述了在Visual Studio .NET中实现该方法的过程。使用结果表明,该方案处理网页中不规则表格问题高效、可靠,具有良好的可扩充性和可重用性。

关键词:ASP.NET;Table控件;不规则表格

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)08-1821-03

在ASP.NET开发资产实时核算管理系统中,经常要把数据以表格的形式呈现出来,一般使用HTML或GridView控件来实现。但多数表格是不规则的表格(如表1),HTML虽然能创建不规则的表格,但动态创建表格实现起来比较麻烦,而.NET提供的GridView控件一般只能输出行列整齐的表格,不能设置跨行或跨列的单元格。因此,在系统开发中,使用Table服务器控件,动态创建表格,很好地解决了这个问题。

1.1 Table对象

Table对象的Caption属性用来设置表格的标题,可在标题文本中插入换行符

来形成多行标题。使用CaptionAlign属性可以设置标题文本的对齐方式,对齐方式的值有:NotSet、Top、Bottom、Left和Right,分别是未设置对齐方式、标题与行的上边缘对齐、与下边缘对齐、与左边对齐和与右边对齐。

Table对象的Rows用于获取表行的集合,其主要属性和方法如下:

Count属性:表示Rows集合的元素个数,即表的总行数。

Add方法:用于添加一个新的TableRow对象,即向表中添加一行。

AddAt方法:用于在指定的位置添加一个新的TableRow对象,即向表中插入一行。

Remove方法:用于移除一个TableRow对象,即从表中移除一行。

RemoveAt方法:用于移除指定索引值的TableRow对象,即从表中移除指定索引值的行。

Clear方法:清除Rows集合中的所有元素,即清除表中的所有行。

1.2 TablelRow对象

TablelRow类的实例表示Table控件中的行。TablelRow对象的Cells属性,表示表行中单元格的集合,Cells集合的主要属性和方法有:

Count属性:表示Cells集合的元素个数,即列数。

Add方法:用于添加一个新的TableCell对象,即向表中添加一个单元格。

AddAt方法:用于在指定的位置添加一个新的TableCell对象,即向表行中某位置插入一个单元格。

Remove方法:用于移除一个TableCell对象,即从表行中移除一个单元格。

RemoveAt方法:用于移除指定索引值的TableCell对象,即从表行中移除指定索引值的单元格。

Clear方法:清除Cells集合中的所有元素,即清除表行中的所有单元格。

1.3 TableCell对象

TableCell对象的实例表示TableRow对象中的单元格。TableCell对象的主要属性有:

ColumnSpan属性:表示该单元格在呈现出的表中所跨越的列数。例如,如果ColumnSpan属性值为2,表示该单元格在Table控件中占两列。

RowSpan属性:表示该单元格在呈现出的表中所跨越的行数。例如,如果RowSpan属性值为2,表示该单元格在Table控件中占两行。

Wrap属性:决定是否允许单元格内容在单元格内换行。如果允许换行,则属性值为True,否则为False。

Controls属性:可以向单元格动态添加控件。例如,浏览网页时要在单元格中输入信息,可以向单元格添加文本框控件,方法如下:

3 结束语

用上述方法处理不规则表格显示数据库数据的方法简单实用,在资产实时核算系统中得到了很好应用。由于篇幅所限,未能尽述表格的所有相关功能,如在动态创建行和列的时候,修改行和列的样式属性,创建自定义样式的表格等,同时如何更好地分页打印表头也是一个值得探讨的问题。总之,掌握了上述方法后,只要稍作修改,就能制作出更复杂的表格。

参考文献:

[1] Christian Nagel,Bill Evjen,Jay Glynn. C#高级编程[M].李敏波,译. 3版.北京:清华大学出版社,2006.

[2] 明日科技.Visual C#开发技术大全[M].北京:人民邮电出版社,2007.

[3] 程不功.ASP.NET 2.0动态网站开发教程[M].北京:清华大学出版社,2006.

[4] 邵淑霞,李德荣.Web页中不规则表格的实现[J].大庆高等专科学校学报,2002,22(4):15-18.

[5] Table控件单元格的动态合并技术[J].福建电脑,2008(3):185.