How to Asp.Net Dynamic Dataset
In ADO.NET, you have the flexibility to create DataTable objects dynamically and add them to an existing DataSet. A DataTable, defined in the System.Data namespace, represents a single table of memory-resident data. It provides a structure to hold and manipulate data in a tabular format.
VB.Net
Dim dt As New DataTable
dataset.Tables.Add(dt)
C#
DataTable dt = new DataTable();
dataset.Tables.Add(dt);
A DataTable is defined in the System.Data namespace and represents a single table of memory-resident data. You can set constraint information for a DataTable by using the PrimaryKey and Unique properties.
The following ASP.NET program create a DataTable dynamically and add it into a Dataset.
Default.aspx
<!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 id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
<br />
<asp:ListBox ID="ListBox1" runat="server"></asp:ListBox>
</div>
</form>
</body>
</html>
Full Source | C#
using System;
using System.Data ;
using System.Data.SqlClient ;
public partial class _Default : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
DataTable dt;
DataRow dr;
DataColumn idCoulumn;
DataColumn nameCoulumn;
int i = 0;
dt = new DataTable();
idCoulumn = new DataColumn("ID", Type.GetType("System.Int32"));
nameCoulumn = new DataColumn("Name", Type.GetType("System.String"));
dt.Columns.Add(idCoulumn);
dt.Columns.Add(nameCoulumn);
dr = dt.NewRow();
dr["ID"] = 1;
dr["Name"] = "Name1";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["ID"] = 2;
dr["Name"] = "Name2";
dt.Rows.Add(dr);
ds.Tables.Add(dt);
for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
{
ListBox1.Items.Add (ds.Tables[0].Rows[i].ItemArray[0] + " -- " + ds.Tables[0].Rows[i].ItemArray[1]);
}
}
}
Full Source | VB.NET
Imports System.Data
Imports System.Data.SqlClient
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim ds As New DataSet
Dim dt As DataTable
Dim dr As DataRow
Dim idCoulumn As DataColumn
Dim nameCoulumn As DataColumn
Dim i As Integer
dt = New DataTable()
idCoulumn = New DataColumn("ID", Type.GetType("System.Int32"))
nameCoulumn = New DataColumn("Name", Type.GetType("System.String"))
dt.Columns.Add(idCoulumn)
dt.Columns.Add(nameCoulumn)
dr = dt.NewRow()
dr("ID") = 1
dr("Name") = "Name1"
dt.Rows.Add(dr)
dr = dt.NewRow()
dr("ID") = 2
dr("Name") = "Name2"
dt.Rows.Add(dr)
ds.Tables.Add(dt)
For i = 0 To ds.Tables(0).Rows.Count - 1
ListBox1.Items.Add(ds.Tables(0).Rows(i).Item(0) & " -- " & ds.Tables(0).Rows(i).Item(1))
Next i
End Sub
End Class
Conclusion
ADO.NET allows you to create DataTable objects dynamically and add them to an existing DataSet. The DataTable represents a single table of data and can be customized by adding columns and setting constraints. This provides a powerful mechanism for managing and manipulating data in a tabular format within your application.