Try like this..
ASPX
<table id="table1" runat="server" border="1" cellpadding="1" cellspacing="1">
</table>
Code behind:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
for (int i = 0; i < 9; i++)
dt.Columns.Add("column" + i);
for (int i = 0; i < 10; i++)
dt.Rows.Add(1, 2, 3, 4, 5, 6, 7, 8, 9);
CreateTable(dt, table1);
}
}
private void CreateTable(DataTable dt, HtmlTable table)
{
HtmlTableRow rowheader = new HtmlTableRow();
for (int j = 0; j < dt.Columns.Count; j++)
rowheader.Cells.Add(new HtmlTableCell() { InnerText = dt.Columns[j].ColumnName });
table.Rows.Add(rowheader);
for (int i = 0; i < dt.Rows.Count; i++)
{
HtmlTableRow row = new HtmlTableRow();
for (int j = 0; j < dt.Columns.Count; j++)
row.Cells.Add(new HtmlTableCell() { InnerText = dt.Rows[i][j].ToString() });
table.Rows.Add(row);
}
}