在做Asp.Net的時候,很多情況下資料的綁定都是使用GridView或者我之前提到的ListView,但是這兩個适合用于資料的綁定,而有些時候,資料需要在背景進行處理,例如資料據内地某一條資料的特殊樣式等等,當然也可以在綁定的時候處理,可是那些需要彙總的,和需要表格合并的,在操作起來可能就有一些麻煩了。是以Table可以解決這些。
前台隻要拖一個Table控件給一個ID就可以了,我們的操作都可以在背景進行。
1 <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">
2 </asp:Table>
這裡的Table是一個控件,可以在背景對改表格進行行列的操作。
1 TableRow headUpTr = new TableRow();
2 table.Rows.Add(headUpTr)
這樣就在table中添加了一行。
在一行中添加一列的話方法同上,使用的是TableCell,同理,這個類也相當于HTML中的td标簽。Table、TableRow、TableCell三個類組成了一個完整的表格。
1 TableCell td = new TableCell();
2 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, intheight,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 }
我想應該還會有更簡單且更有效率的方法,但是目前我的能力有限,還是隻能找到這樣的方式。雖然不是很高深的東西,但是對于初學者來說,或許會有一些幫助的。
本文轉自 wws5201985 51CTO部落格,原文連結:http://blog.51cto.com/wws5201985/735605,如需轉載請自行聯系原作者