c# - How to create a DataTable

Create a DataTable
A DataTable represents one table of in-memory relational data. .net developers can create a DataTable object by the following DataTable constructors DataTable(), DataTable(String), DataTable(SerializationInfo, StreamingContext) and DataTable(String, String).

DataTable() constructor initialize a new instance of the DataTable class with no arguments. DataTable(String) constructor initialize a new DataTable class with specified table name. DataTable(SerializationInfo, StreamingContext) constructor initialize a new DataTable class with SerializationInfo and StreamingContext. DataTable(String, String) constructor initialize a new DataTable class with specified table name and namespace.

.Net developers can also create DataTable objects by using DataAdapter object's Fill or FillSchema methods within a DataSet. they also can create DataTable objects by ReadXml, ReadXmlSchema or InferXmlSchema methods of DataSet. after creating a DataTable object, we can add DataColumn objects to it and can specify a TableName.

The following ado.net c# example code demonstrate us how can we create a DataTable programmatically in an asp.net application.
HowToCreateDataTable.aspx

<%@ Page Language="C#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html>
<script runat="server">
    void Button1_Click(object sender, System.EventArgs e)
    {
        DataTable dt = new DataTable();

        DataColumn dc = new DataColumn();
        dc.ColumnName = "ProductID";
        dc.DataType = typeof(int);
        dt.Columns.Add(dc);

        DataColumn dc2 = new DataColumn();
        dc2.ColumnName = "ProductName";
        dc2.DataType = typeof(string);
        dt.Columns.Add(dc2);
        
        dt.Rows.Add(new object[] { "2","asp.net example ebook" });
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>DataTable - How to create DataTable programmatically in ado.net</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <h2 style="color:DarkBlue; font-style:italic;">
            ADO.NET DataTable - How to create
            <br /> DataTable and populate with data in ado.net
        </h2>
        <hr width="400" align="left" color="DarkBlue" />
        <asp:GridView 
            ID="GridView1"
            runat="server"
            BorderColor="DodgerBlue"
            HeaderStyle-BackColor="AliceBlue"
            >
        </asp:GridView>
        <br />
        <asp:Button 
            ID="Button1"
            runat="server"
            OnClick="Button1_Click"
            Text="Create DataTable and Populate GridView"
            Height="45"
            Font-Bold="true"
            ForeColor="DodgerBlue"
            />
    </div>
    </form>
</body>
</html>
More c# examples