在做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 }
我想應該還會有更簡單且更有效率的方法,但是目前我的能力有限,還是只能找到這樣的方式。雖然不是很高深的東西,但是對於初學者來說,或許會有一些幫助的。