Introduction
A DataTable is a class of Disconnected architecture in the .NET Framework. It is
found in the System.Data namespace and represents a single table. We can
create a table and can add columns and rows of that table. Now, we will create
an window application and use the DataTable class.
Create a windows application > create a dataGridView control and write the following
code on the form load event.
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Windows.Forms;
namespace
datatable
{
public partial
class Form1 :
Form
{
public Form1()
{
InitializeComponent();
}
DataTable dt;
private void
Form1_Load(object sender,
EventArgs e)
{
//Adding Columns
dt = new
DataTable();
dt.Columns.Add("ID",
typeof(int));
dt.Columns.Add("Name",
typeof(string));
dt.Columns.Add("Department",System.Type.GetType("System.String"));
dt.Columns.Add("City",
typeof(string));
//Adding Rows
dt.Rows.Add(111, "Alok",
"IT", "Delhi");
dt.Rows.Add(222, "Satish",
"IT", "Jhansi");
dt.Rows.Add(333, "Amitabh",
"Management",
"Noida");
}
}
}
Run the application.
Output
![]()
It is a simple example for creating a datatable and adding column and value to
its row. Now we work with its different method.
Working with it's methods
AcceptChanges()
This method saves changes which made with records in a
Datatable.
Take another dataGridView control and a Button. Add below code.
private
void btnacceptchanges_Click(object
sender, EventArgs e)
{
dt.AcceptChanges();
dataGridView2.DataSource = dt;
}
Run the application. Make some changes in rows value. I have changed department
name as "cs" for first row and added a new row at last.
Output
![]()
Click the "AcceptChanges"
button. Second
dataGridView will show updated record.
![]()
Clear()
This method clears
(removes) all data from datatable. Take a button and write the following code on click event.
private
void btnclear_Click(object
sender, EventArgs e)
{
dt.Clear();
}
Output
![]()
Click the "Clear" button.
It will clear all the data.
Output
![]()
Clone()
The clone method copy the
structure of Datatable. Means it copy only schema not full records of Datatable. Take another dataGridView
control and a Button. Add below code.
private
void btnclone_Click(object
sender, EventArgs e)
{
DataTable dt1 = dt.Clone();
dataGridView2.DataSource = dt1;
}
Output
![]()
Click the "Clone" button.
Output
![]()
Copy()
The copy method copy the whole
records with structure of Datatable. Take another dataGridView control and a Button. Write the following code on
button click.
private
void btncopy_Click(object
sender, EventArgs e)
{
DataTable dt1 = dt.Copy();
dataGridView2.DataSource = dt1;
}
Output
![]()
Click the "copy" button. It will copy all the data with structure of datatable
into another datatable and show records in dataGridView.
Output
![]()
GetChanges()
This method does copy of all
records of datatable with changes made with record. Add a button and dataGridView and
write the following
code on button click.
private
void btnGetChanges_Click(object
sender, EventArgs e)
{
dt.GetChanges();
dataGridView2.DataSource = dt;
}
Output
I have changed some column value like department as "CS" of first row and
city as "Varanasi" for last row.
Click the "GetChanges" button. It will show all
record.
Output
![]()
NewRow()
The NewRow method creates a new row with same schema of
datatable. Take a button > Set it's Text property to "NewRow" and write the following code.
private void
btnnewrow_Click(object sender,
EventArgs e)
{
DataRow dr = dt.NewRow();
dr["ID"] = 444;
dr["Name"] =
"Pramod";
dr["Department"]="CS";
dr["City"] =
"Allahabad";
//Add the row to datatable
dt.Rows.Add(dr);
}
Run the application.
Output
![]()
Click the "NewRow" button. It will add new row to datatable.
Output
![]()