This article has been 
excerpted from book "A Programmer's Guide to ADO.NET in C#".
You can even create a table and add its cells and cell values programmatically. 
First, create a table using the <asp:Table> tag and then add rows to it(see 
Listing 7-27).
Listing 7-27. Creating a table's rows programmatically 
<%@ Page
Language="C#"
AutoEventWireup="true"
CodeBehind="Default.aspx.cs"
Inherits="Creatingtableprogrammatically._Default" 
%>
<!DOCTYPE
html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head
runat="server">
    <title>Untitled 
Page</title>
</head>
<body>
    <form
id="form1"
runat="server">
    <div>
        <asp:Table
ID="table1"
runat="server"
Height="114"
Width="439"
BackColor=Aqua>
            <asp:TableRow>
            </asp:TableRow>
            <asp:TableRow>
            </asp:TableRow>
            <asp:TableRow>
            </asp:TableRow>
            <asp:TableRow>
            </asp:TableRow>
            <asp:TableRow>
            </asp:TableRow>
        </asp:Table>
    </div>
    </form>
</body>
</html>
Now you add cells and their values at run-time using the TableRow and TableCell 
class object (see Listing 7-28).
Listing 7-28. Adding table rows and cells programmatically 
            int rows = 3;
            int cols = 2;
            for (int 
j = 0; j < rows; j++)
            {
                TableRow r =
new TableRow();
                for (int 
i = 0; i < cols; i++)
                {
                    TableCell c =
new TableCell();
                    c.Controls.Add(new
LiteralControl("row 
" + j.ToString() + ", cell " + 
i.ToString()));
                    r.Cells.Add(c);
                }
                Table1.Rows.Add(r);
            }
The example you saw in Listing 7-28 creates a table with three rows and two 
columns. You can also add rows and columns to a table programmatically. This 
program, which looks like Figure 7-58, adds rows and columns to a table at 
run-time based on the values entered in the text boxes. You create a Web 
application and add a control, two labels, and two text boxes to the page.
First, you create one <asp:Table> control to your .aspx page:
<%@ Page
Language="C#"
AutoEventWireup="true"
CodeBehind="Default.aspx.cs"
Inherits="Creatingtableprogrammatically._Default" 
%>
<!DOCTYPE
html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head
runat="server">
    <title>Untitled 
Page</title>
</head>
<body>
    <form
id="form1"
runat="server">
    <div>
        <asp:Table
ID="Table1"
runat="server">
        </asp:Table>
        Rows:
        <asp:TextBox
ID="TextBox1"
runat="server"></asp:TextBox><br
/>
        Columns:
        <asp:TextBox
ID="TextBox2"
runat="server"></asp:TextBox>
        <asp:Button
ID="Button1"
runat="server"
Text="Create Table"
OnClick="Button1_Click"
/><br 
/>
    </div>
    </form>
</body>
</html>
Figure 7-58. Creating a table programmatically 
Next, add the code in Listing7-29 on the button-click handler.
Listing 7-29. Button-click handler create a table programmatically
        protected void 
Button1_Click(object sender,
EventArgs e)
        {
            int rows =
Convert.ToInt16(TextBox1.Text);
            int cols =
Convert.ToInt16(TextBox2.Text);
            for (int 
j = 0; j < rows; j++)
            {
                TableRow r =
new TableRow();
                for (int 
i = 0; i < cols; i++)
                {
                    TableCell c =
new TableCell();
                    c.Controls.Add(new
LiteralControl("row" 
+ j.ToString() + ", cell " + i.ToString()));
                    r.Cells.Add(c);
                }
                Table1.Rows.Add(r);
            }
        }
Finally, run the application and enter the number of rows and the number of 
columns to the text boxes and then click the Create table button to create a 
table.
Conclusion
Hope this article would have helped you in understanding 
creating 
a table programmatically in ASP.NET. See other articles on 
the website also for further reference.
![adobook.jpg]() 
  | 
This essential guide 
to Microsoft's ADO.NET overviews C#, then leads you toward deeper 
understanding of ADO.NET. |