Introduction
DataTable represents a single table. I have described about DataTable
in my previous article. DataColumn represent schema of DataTable.
We can add schema ( Column) of DataTable by DataColumn objects.
Let's work with DataColumn objects to add column in DataTable. Take a Window
Form Application > take a dataGridView control and write the following code on
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
DataTableDataColumnDataRow
{
public partial
class Form1 :
Form
{
public Form1()
{
InitializeComponent();
}
DataTable dt;
private void
Form1_Load(object sender,
EventArgs e)
{
DataColumn dc =
new DataColumn();
// Defining Datatype for Column Name
dc.DataType=System.Type.GetType("System.String");
// Defining Column Name
dc.ColumnName = "Name";
// Set Maximum Lenght for Column Text
dc.MaxLength = 15;
//
//Repeate the same for other
columns
DataColumn dc1 =
new DataColumn();
dc1.DataType = System.Type.GetType("System.String");
dc1.ColumnName = "City";
dc1.MaxLength = 15;
DataColumn dc2 =
new DataColumn();
dc2.DataType = System.Type.GetType("System.Int32");
dc2.ColumnName = "Age";
// Creating DataTable Object
dt = new
DataTable();
//Adding columns to DataTable
dt.Columns.Add(dc);
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dataGridView1.DataSource = dt;
}
}
}
Run the application.
Output
You can also define and create instance of DataColumn class in single line.
Look at below code for doing same
work as above.
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
DataTableDataColumnDataRow
{
public partial
class Form1 :
Form
{
public Form1()
{
InitializeComponent();
}
DataTable dt;
private void
Form1_Load(object sender,
EventArgs e)
{
// Creating DataColumn object
DataColumn dc =
new DataColumn("Name",typeof(string));
DataColumn dc1 =
new DataColumn("City",typeof(string));
DataColumn dc2 =
new DataColumn("Age",typeof(int));
// Creating DataTable Object
dt = new
DataTable();
//Adding columns to DataTable
dt.Columns.Add(dc);
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dataGridView1.DataSource = dt;
}
}
}
Run the application.
Output
DataRow Class
The DataRow class represent the row of DatatTable.
Add a button and write the following code on Button Click 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
DataTableDataColumnDataRow
{
public partial
class Form1 :
Form
{
public Form1()
{
InitializeComponent();
}
DataTable dt;
private void
Form1_Load(object sender,
EventArgs e)
{
// Creating DataColumn object
DataColumn dc =
new DataColumn("Name",typeof(string));
DataColumn dc1 =
new DataColumn("City",typeof(string));
DataColumn dc2 =
new DataColumn("Age",typeof(int));
// Creating DataTable Object
dt = new
DataTable();
//Adding columns to DataTable
dt.Columns.Add(dc);
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dataGridView1.DataSource = dt;
}
private void
btnaddrow_Click(object sender, EventArgs e)
{
DataRow dr = dt.NewRow();
dr[0] = "Alok";
dr[1] = "Delhi";
dr[2] = 23;
dt.Rows.Add(dr);
dataGridView1.DataSource = dt;
}
}
}
Run the application.
Output
Click the button.
You can also write the code of button click in another way. Look at below code
which perform the same work as above code.
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
DataTableDataColumnDataRow
{
public partial
class Form1 :
Form
{
public Form1()
{
InitializeComponent();
}
DataTable dt;
private void
Form1_Load(object sender,
EventArgs e)
{ // Creating DataColumn object
DataColumn dc =
new DataColumn("Name",typeof(string));
DataColumn dc1 =
new DataColumn("City",typeof(string));
DataColumn dc2 =
new DataColumn("Age",typeof(int));
// Creating DataTable Object
dt = new
DataTable();
//Adding columns to DataTable
dt.Columns.Add(dc);
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dataGridView1.DataSource = dt;
}
private void
btnaddrow_Click(object sender, EventArgs e)
{
DataRow dr = dt.NewRow();
dr["Name"] = "Alok";
dr["City"] = "Delhi";
dr["Age"] = 23;
dt.Rows.Add(dr);
dataGridView1.DataSource = dt;
}
}
}
Output
Same output as above.
Resources
Here are some related resources