在做Asp.Net的时候,很多情况下数据的绑定都是使用GridView或者我之前提到的ListView,但是这两个适合用于数据的绑定,而有些时候,数据需要在后台进行处理,例如数据据内地某一条数据的特殊样式等等,当然也可以在绑定的时候处理,可是那些需要汇总的,和需要表格合并的,在操作起来可能就有一些麻烦了。所以asp:Table可以解决这些。
注意:这里讲的是标准的table控件,不是html里的table:
前台只要拖一个Table控件给一个ID就可以了,我们的操作都可以在后台进行。
<asp:Table ID="table" runat="server" BorderColor="#000000" BorderStyle="Solid" BorderWidth="0px" Caption="表格的标题" CellPadding="0" CellSpacing="0" Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Size="30px" Font-Strikeout="False" Font-Underline="False" Width="980px"> </asp:Table>
这里的Table是一个控件,可以在后台对改表格进行行列的操作。
添加一行使用的是TableRow类,这个类相当于HTML标准中table标签内部的tr标签,如果要添加一行,我们可以这样写:
TableRow headUpTr = new TableRow(); table.Rows.Add(headUpTr)
这样就在table中添加了一行。
在一行中添加一列的话方法同上,使用的是TableCell,同理,这个类也相当于HTML中的td标签。Table、TableRow、TableCell三个类组成了一个完整的表格。
TableCell td = new TableCell(); headUpTr.Cells.Add(td);
TableCell的相关属性可以更改表格的样式,在对数据的结果集筛选的时候可以根据不同的值在循环输出中对表格进行个性化的设置。
最常用的TableCell属性有:
ColumnSpan;用于列RowSpan;用于跨行Text;用于写字符串Controls.Add();方法则是像单元格中输出控件用的。Attributes.Add();这个则是给单元格增加属性的,增加html标签支持的属性,例如Style、Align等等。
有些时候会遇到很多重用的情况,所以我会将一些操作写成一个方法,以方便调用,例如:
1 private void addtr(ref TableRow tr, string data, int colspan, int rowspan, string align, int width, string fontsize, int height,string style) 2 { 3 TableCell td = new TableCell(); 4 td.Width = width; 5 td.Attributes.Add("align", align); 6 td.Attributes.Add("style", fontsize); 7 td.CssClass = style; 8 td.ColumnSpan = colspan; 9 if (height != 20) 10 { 11 td.Height = height; 12 } 13 td.RowSpan = rowspan; 14 td.Text = data.ToString(); 15 tr.Cells.Add(td); 16 }
我想应该还会有更简单且更有效率的方法,但是目前我的能力有限,还是只能找到这样的方式。虽然不是很高深的东西,但是对于初学者来说,或许会有一些帮助的。