Friday, October 21, 2011
Fill ASP.NET Table with data from DataTable
In this example I’m going to create a DataTable by hand and define the columns and row values manually and then display it to the Table.
Here are the code blocks below:
|   private DataTable CreateDataTable()   {         DataTable dt = new DataTable();         DataRow dr = null;         //Create the Columns Definition         dt.Columns.Add(new DataColumn("Column1", typeof(string)));         dt.Columns.Add(new DataColumn("Column2", typeof(string)));         dt.Columns.Add(new DataColumn("Column3", typeof(string)));         //Add the first Row to each columns defined         dr = dt.NewRow();         dr["Column1"] = "A";         dr["Column2"] = "B";         dr["Column3"] = "C";         dt.Rows.Add(dr);         //Add the second Row to each columns defined         dr = dt.NewRow();         dr["Column1"] = "D";         dr["Column2"] = "E";         dr["Column3"] = "F";         dt.Rows.Add(dr);         //You can continue adding rows here         return dt;     }     private void GenerateTable()     {         DataTable dt = CreateDataTable();         Table table = new Table();         TableRow row = null;         //Add the Headers         row = new TableRow();         for (int j = 0; j < dt.Columns.Count; j++)         {             TableHeaderCell headerCell = new TableHeaderCell();             headerCell.Text = dt.Columns[j].ColumnName;             row.Cells.Add(headerCell);         }         table.Rows.Add(row);         //Add the Column values         for (int i = 0; i < dt.Rows.Count; i++)         {             row = new TableRow();             for (int j = 0; j < dt.Columns.Count; j++)             {                 TableCell cell = new TableCell();                 cell.Text = dt.Rows[i][j].ToString();                 row.Cells.Add(cell);             }             // Add the TableRow to the Table             table.Rows.Add(row);         }         // Add the the Table in the Form         form1.Controls.Add(table);     }     protected void Page_Load(object sender, EventArgs e)     {         GenerateTable();     } | 
Running the code above will show this output below in the page.