Table控件提供了一种更加灵活的为各项数据以及动态生成的控件定位的方式
动态地创建一个表包含三个步骤。首先,创建 TableCell 对象,表示行中的单元格。添加单元格的内容有两种方法:设置 Text 属性,或者向 TableCell 的 Control.Controls 集合添加控件。接下来,创建 TableRow 以表示表中的行。将此前创建的 TableCell 对象添加到 TableRow 的 Cells 集合中。最后,将 TableRow 添加到 Table 控件的 Rows 集合中。对表中的各行重复此过程。
实例:从数据库表中取得产品大类和小类,灵活显示产品类别及其之间的关系列表
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
1![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
//产品大类数
3
int ParentCount=dt.Rows.Count;
4
//产品大类的计数器
5
int ParentCounter=ParentCount;
6
// 总行数
7
int rowCnt=0;
8
//满行数
9
int tempn=ParentCount/3;
10
if(3*tempn<ParentCount)
11
rowCnt=ParentCount/3+1;
12
else
13
rowCnt=tempn;
14![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
// 当前行
16
int rowCtr;
17
// 当前单元格
18
int cellCtr;
19
// 每行的列数
20
int cellCnt=3;
21![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
22![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
23
for(rowCtr=1; rowCtr <= rowCnt; rowCtr++)
24![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
25
// Create new row and add it to the table.
26
TableRow tRow = new TableRow();
27
Table1.Rows.Add(tRow);
28
for (cellCtr = 1; cellCtr <= cellCnt; cellCtr++)
29![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
30
// Create a new cell and add it to the row.
31
TableCell tCell = new TableCell();
32
tRow.Cells.Add(tCell);
33
//string prodID = rowCtr + "_" + cellCtr;
34
//产品名称
35
string prodName=dt.Rows[ParentCounter-1]["Name"].ToString();
36
// Add a literal text as control.
37
tCell.Controls.Add(new LiteralControl(" "));
38
// Create Hyperlink Web Server control and add to cell
39
System.Web.UI.WebControls.HyperLink h = new HyperLink();
40![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
41
DataTable dt1=new DataTable();
42
dt1=pc.GetCategoriesByParentID(dt.Rows[ParentCounter-1]["ID"].ToString());
43![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
44
//小类数量
45
int ChildCount=dt1.Rows.Count;
46
h.Text = "<STRONG>"+prodName+"("+ChildCount.ToString()+")<STRONG><br>";
47
h.NavigateUrl = "product/product_list.aspx?id="+dt.Rows[ParentCounter-1]["ID"].ToString();
48
49
tCell.Controls.Add(h);
50
//增加小类
51
52
if(dt1.Rows.Count>0)
53![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
54
if(dt1.Rows.Count==1)
55![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
56
System.Web.UI.WebControls.HyperLink h1 = new HyperLink();
57
h1.Text=dt1.Rows[0]["Name"].ToString();
58
h1.NavigateUrl = "product/product_list.aspx?id="+dt1.Rows[0]["ID"].ToString();
59
tCell.Controls.Add(h1);
60
}
61![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
62
if(dt1.Rows.Count==2)
63![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
64
System.Web.UI.WebControls.HyperLink h1 = new HyperLink();
65
h1.Text=dt1.Rows[0]["Name"].ToString()+"、";
66
h1.NavigateUrl ="product/product_list.aspx?id="+dt1.Rows[0]["ID"].ToString();
67
tCell.Controls.Add(h1);
68
System.Web.UI.WebControls.HyperLink h2 = new HyperLink();
69
h2.Text=dt1.Rows[1]["Name"].ToString();
70
h2.NavigateUrl = "product/product_list.aspx?id="+dt1.Rows[1]["ID"].ToString();
71
tCell.Controls.Add(h2);
72
}
73
if(dt1.Rows.Count>2)
74![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
75
System.Web.UI.WebControls.HyperLink h1 = new HyperLink();
76
h1.Text=dt1.Rows[0]["Name"].ToString()+"、";
77
h1.NavigateUrl ="product/product_list.aspx?id="+dt1.Rows[0]["ID"].ToString();
78
tCell.Controls.Add(h1);
79
System.Web.UI.WebControls.HyperLink h2 = new HyperLink();
80
h2.Text=dt1.Rows[1]["Name"].ToString()+"
";
81
h2.NavigateUrl = "product/product_list.aspx?id="+dt1.Rows[1]["ID"].ToString();
82
tCell.Controls.Add(h2);
83
}
84
}
85
86![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
87
ParentCounter--;
88
if(ParentCounter<0)
89
return ;
90
}
91
}
实例:从数据库表中取得产品大类和小类,灵活显示产品类别及其之间的关系列表
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
1
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
38
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
39
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
40
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
41
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
42
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
43
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
44
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
45
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
46
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
47
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
48
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
50
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
51
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
52
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
53
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
54
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
55
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
56
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
57
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
58
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
59
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
60
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
61
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
62
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
63
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
64
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
65
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
66
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
67
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
68
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
69
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
70
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
71
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
72
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
73
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
74
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
75
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
76
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
77
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
78
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
79
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
80
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
81
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
82
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
83
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
84
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
85
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
86
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
87
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
88
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
89
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
90
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
91
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)