Skip to main content

Asp.Net DataTable Manipulation - Add, Update,Delete & Sort DataTable in C#.Net & VB.Net

In the asp.net developer's life it is very common to come across the datatable manipulation. So here i have decided to explain the datatable manipulation like adding records to datatable, editing and updating datatable records,deleting records from datatable based on the condition and finally sorting datatable based on columns.


Now before going to explain about how to do manipulations with datatable i will explain what datatable is - for the freshers who are not very familiar with it.

DataTable:

It represents one table of in-memory relational data, can be created and used independently, or can be used by other .NET Framework objects, most commonly as a member of a DataSet.

Creating DataTable & Adding Records:

Now i have created a new console application to explain the datatable manipulation. Datatable have different types of constructors. Based on our requirement we can use the specific constructor to create the datatable object. Below are the datatable constructors available.

DataTable() - This constructor is used to create new object of datatable with no arguments.
DataTable(String Tablename) - This constructor is used to create new object of the datatable with specified string as table name.
DataTable(String Tablename,String Namespace) - This constructor is used to create new object of the datatable with specified string as table name and specified namespace.

Now before creating instance of the datatable include the below namespaces if it is not already included.

using System;
using System.Data;

And now i have created the instance of the datatable with the table name as "Students" and inserted some sample records. And using the foreach loop i have just printed the dattable records.Below is the code.

// Initializes a new instance of the DataTable With Name
DataTable dTable = new DataTable("Students");

// Add columns with datatype in students datatable
dTable.Columns.Add("StudentId", typeof(int));
dTable.Columns.Add("StudentName", typeof(string));
dTable.Columns.Add("StudentClass", typeof(string));
dTable.Columns.Add("StudentSection", typeof(string));
dTable.Columns.Add("StudentRank", typeof(int));

// Add new Row to students datatable
DataRow newRow = dTable.NewRow();
newRow["StudentId"] = 1;
newRow["StudentName"] = "Kannadasan";
newRow["StudentClass"] = "10";
newRow["StudentSection"] = "A";
newRow["StudentRank"] = 1;
dTable.Rows.Add(newRow);

// Add new Row to students datatable
newRow = dTable.NewRow();
newRow["StudentId"] = 2;
newRow["StudentName"] = "Kaviyarasan";
newRow["StudentClass"] = "10";
newRow["StudentSection"] = "C";
newRow["StudentRank"] = 4;
dTable.Rows.Add(newRow);

// Add new Row to students datatable
newRow = dTable.NewRow();
newRow["StudentId"] = 3;
newRow["StudentName"] = "Xavier";
newRow["StudentClass"] = "10";
newRow["StudentSection"] = "D";
newRow["StudentRank"] = 3;
dTable.Rows.Add(newRow);

// Add new Row to students datatable
newRow = dTable.NewRow();
newRow["StudentId"] = 4;
newRow["StudentName"] = "Manju";
newRow["StudentClass"] = "10";
newRow["StudentSection"] = "B";
newRow["StudentRank"] = 2;
dTable.Rows.Add(newRow);

//Table Initial Data
Console.WriteLine("");
Console.WriteLine("Table Initial Data");
Console.WriteLine("=========================");
foreach (DataRow dRow in dTable.Rows)
{
    Console.WriteLine("Id : " + dRow["StudentId"].ToString() + ", Name : " + dRow["StudentName"].ToString() + ", Class : " + dRow["StudentClass"].ToString() + ", Section : " + dRow["StudentSection"].ToString() + ", Rank : " + dRow["StudentRank"].ToString());
}

Sorting Datatable Records:

We cann't sort the datatable directly since we don't have any predefined method to sort. So what we can do is create a new dataview from your datatable and apply the sorting you want to apply and then create a new datatable from the dataview using  DataView.ToTable() method.

Below is the code i have used to sort the datatable.

//Sorting Datatable
DataView dv = dTable.DefaultView;
dv.Sort = "StudentRank asc";
DataTable sortedTable = dv.ToTable();
Console.WriteLine("Sorted Data Table By Rank");
Console.WriteLine("=========================");
foreach (DataRow dRow in sortedTable.Rows)
{
    Console.WriteLine("Rank : " + dRow["StudentRank"].ToString()+", Id : " + dRow["StudentId"].ToString() + ", Name : " + dRow["StudentName"].ToString() + ", Class : " + dRow["StudentClass"].ToString() + ", Section : " + dRow["StudentSection"].ToString());
}

Updating & Deleting Datatable Records:

Below is the code i have used to update and delete the records in the datatable.

// Updating Student Record With Id 4
foreach (DataRow dRow in dTable.Rows)
{
    if (dRow["StudentId"].ToString() == "4")
    {
        dRow["StudentSection"] = "A";
        dRow["StudentName"] = "Manju Kannadasan";
        dRow["StudentRank"] = 1;

        Console.WriteLine("Modified Data");
        Console.WriteLine("=========================");
        Console.WriteLine("Id : " + dRow["StudentId"].ToString() + ", Name : " + dRow["StudentName"].ToString() + ", Class : " + dRow["StudentClass"].ToString() + ", Section : " + dRow["StudentSection"].ToString() + ", Rank : " + dRow["StudentRank"].ToString());
    }
}
Console.WriteLine("");

// Deleting Data With Id 2 & 3
for (int i = 0; i < dTable.Rows.Count; i++)
{
    if (dTable.Rows[i]["StudentId"].ToString() == "2" || dTable.Rows[i]["StudentId"].ToString() == "3")
    {
        dTable.Rows[i].Delete();
    }
}

Sample Output:

Now if you run the application you will get the below output.

Output of Asp.Net DataTable Manipulation - Add, Update,Delete & Sort DataTable in C#.Net & VB.Net

Source Code:

Download the complete sourcecode in C#.Net below.
Sourcecode of Asp.Net DataTable Manipulation - Add, Update,Delete & Sort DataTable in C#.Net & VB.Net
You May Also Like.

If you like this article share it with your friends. Comment your suggestions on the comment section.

Comments

Popular posts from this blog

Code To Convert rupees(numbers) into words using C#.Net

Introduction: In my previous article I have explained about how to validate emailid using javascript . In this article I am going to explain about code used to convert rupees(numbers) into words using C#.Net . Explanation: For explanation purpose I have a page. It has a textbox to input the numbers. And when you click on the convert to words button then it will convert the input numbers into words and shows it in the below label. Below is the C# code used to do this functionality. public static string NumbersToWords( int inputNumber) {     int inputNo = inputNumber;     if (inputNo == 0)         return "Zero" ;     int [] numbers = new int [4];     int first = 0;     int u, h, t;     System.Text. StringBuilder sb = new System.Text. StringBuilder ();     if (inputNo < 0)     { ...

C# Extension Methods Example

In this article i am going to explain about Extension Methods  with example. Extension methods enable you to "add" methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type. Extension methods are a special kind of static method, but they are called as if they were instance methods on the extended type. For client code written in C# and Visual Basic, there is no apparent difference between calling an extension method and the methods that are actually defined in a type. If you do implement extension methods for a given type, remember the following points: An extension method will never be called if it has the same signature as a method defined in the type. Extension methods are brought into scope at the namespace level. For example, if you have multiple static classes that contain extension methods in a single namespace named Extensions, they will all be brought into scope by the using Extensions; directive. ...

VBScript equivalent string functions in C#.Net

C# Method VBScript Description IndexOf() InStr Returns the position of the first occurrence of one string within another. The search begins at the first character of the string - InStrRev Returns the position of the first occurrence of one string within another. The search begins at the last character of the string ToLower() LCase Converts a specified string to lowercase SubString() Left Returns a specified number of characters from the left side of a string Length() Len Returns the number of characters in a string TrimStart() LTrim Removes spaces on the left side of a string TrimEnd() RTrim Removes spaces on the right side of a string Trim() Trim Removes spaces on both the left and the right side of a string SubString() M...