Skip to main content

Featured Post

How to use Tabs in ASP.NET CORE

I want to show Components in a tabs , so first of all create few components. In this project we have three components, First View Component  public class AllViewComponent : ViewComponent     {         private readonly UserManager<ApplicationUser> _userManager;         public AllViewComponent(UserManager<ApplicationUser> userManager)         {             _userManager = userManager;         }         public async Task<IViewComponentResult> InvokeAsync()         {             List<StudentViewModel> allUsers = new List<StudentViewModel>();             var items = await _userManager.Users.ToListAsync();             foreach (var item in items)             {                 allUsers.Add(new StudentViewModel {Id=item.Id, EnrollmentNo = item.EnrollmentNo, FatherName = item.FatherName, Name = item.Name, Age = item.Age, Birthdate = item.Birthdate, Address = item.Address, Gender = item.Gender, Email = item.Email });             }            

Gridview sorting Example in ASP.NET

Introduction

Sorting means arranging your data either in ascending order or descending order. But, why we do perform sorting between data? The answer is to increase the speed of readability. So, we need sorted data. Various types of sorting Technique is available like merge sort, quick sort, bubble sort, selection sort, insertion sort and etc. Here, I perform sorting in the GridView. Actually this control provide built in sorting functionality so no code is required for it. But, I will give you example of sorting by using code behind file. Sorting and sorted event of this control provide you to customize the sort functionality like you can use either ViewState or other technique.  First of all I would like to talk about inbuilt functionality which is provide by this control. Let see the example

Step-1 : Create a DataBase table in Visual Studio
Step-2 : Bind GridView with SqlDataSource control
Step-3 : Select 'Enable Sorting' CheckBox for sorting.
Gridview sorting in ASP.NET

Code generate the following output

Gridview sorting Example in ASP.NET

Gridview sorting Example in ASP.NET

Complete Source Code with AllowSorting="True" property

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!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 runat="server">
    <link href="StyleSheet.css" rel="stylesheet" type="text/css" />
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" AllowSorting="True" 
            AutoGenerateColumns="False" DataKeyNames="sno" DataSourceID="SqlDataSource1">
            <Columns>
                <asp:BoundField DataField="sno" HeaderText="sno" ReadOnly="True" 
                    SortExpression="sno" />
                <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
                <asp:BoundField DataField="Address" HeaderText="Address" 
                    SortExpression="Address" />
            </Columns>
        </asp:GridView>  
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
            SelectCommand="SELECT * FROM [userdata]"></asp:SqlDataSource>
    </div>
    </form>
</body>
</html>
If you bind the GridView control with the SqlDataSource. GridView provide functionality to sort the column without any coding. With the help of allowSorting property of this control you can make column as linkButon, i mean to say LinkButton controls displayed at the top of each column of the grid lets see the output of the above mentioned program. Now to the second part that is sorting through code behind file:

II Method (Sorting through Code Behind file)

Here, i will use ViewState, SortDirection and SortExpression for sorting. With the help of SortDirection enumeration we can retrieve sort order of the column. Also access the last state information of Post Back event by using ViewState. Let see the example

  1. First to add the GridView control to the design page.
  2. Bind this control with the DataTable.
  3. Copy this code and paste into your code behind file

    private void bindgridview()
    {
        var data = getDataTable();
        GridView1.DataSource = data;
        GridView1.DataBind();

    }

    private DataTable getDataTable()
    {
        SqlConnection con = new SqlConnection();
        con.ConnectionString=ConfigurationManager.ConnectionStrings["btti"].ToString();
        con.Open();
        SqlCommand cmd=new SqlCommand();
        cmd.CommandText = "select * from [register]";
        cmd.Connection=con;
        SqlDataAdapter da=new SqlDataAdapter(cmd);
        DataSet ds=new DataSet();
        da.Fill(ds);
        return ds.Tables[0];

    }
  1. Now, perform Customization in the sorting by using GridView_Sorting event.
  2. Copy this code in the same code behind file.
  protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
    {
        string sortExp = e.SortExpression;
        string direction = string.Empty;
        if(SortDir==SortDirection.Ascending)
        {
            SortDir = SortDirection.Descending;
            direction = "DESC";
        }
        else
        {
            SortDir = SortDirection.Ascending;
            direction = "ASC";
        }
        DataTable dt = getDataTable();
        dt.DefaultView.Sort = sortExp +" " + direction;
        GridView1.DataSource = dt;
        GridView1.DataBind();



    }


    public SortDirection SortDir
    {
        get {
        if(ViewState["SortDir"]==null)
        {
            ViewState["SortDir"] = SortDirection.Ascending;
        }
        return (SortDirection)ViewState["SortDir"];
        
        }
        set {

            ViewState["SortDir"] = value;
        }
    } 
Here, SortDir is the public property through this we can access ViewState Information. When first time page is loaded ViewState contain null value so the sorted order is default ascending. So, SortDir key of it contain Descending order with the DESC string direction. When we click on any link button which is mentioned with the table column it rearrange the column according to SortExpression (table Column) and Direction.

Comments

Popular Post

Polynomial representation using Linked List for Data Structure in 'C'

Polynomial representation using Linked List The linked list can be used to represent a polynomial of any degree. Simply the information field is changed according to the number of variables used in the polynomial. If a single variable is used in the polynomial the information field of the node contains two parts: one for coefficient of variable and the other for degree of variable. Let us consider an example to represent a polynomial using linked list as follows: Polynomial:      3x 3 -4x 2 +2x-9 Linked List: In the above linked list, the external pointer ‘ROOT’ point to the first node of the linked list. The first node of the linked list contains the information about the variable with the highest degree. The first node points to the next node with next lowest degree of the variable. Representation of a polynomial using the linked list is beneficial when the operations on the polynomial like addition and subtractions are performed. The resulting polynomial can also

How to use Tabs in ASP.NET CORE

I want to show Components in a tabs , so first of all create few components. In this project we have three components, First View Component  public class AllViewComponent : ViewComponent     {         private readonly UserManager<ApplicationUser> _userManager;         public AllViewComponent(UserManager<ApplicationUser> userManager)         {             _userManager = userManager;         }         public async Task<IViewComponentResult> InvokeAsync()         {             List<StudentViewModel> allUsers = new List<StudentViewModel>();             var items = await _userManager.Users.ToListAsync();             foreach (var item in items)             {                 allUsers.Add(new StudentViewModel {Id=item.Id, EnrollmentNo = item.EnrollmentNo, FatherName = item.FatherName, Name = item.Name, Age = item.Age, Birthdate = item.Birthdate, Address = item.Address, Gender = item.Gender, Email = item.Email });             }            

Memory representation of Linked List Data Structures in C Language

                                 Memory representation of Linked List              In memory the linked list is stored in scattered cells (locations).The memory for each node is allocated dynamically means as and when required. So the Linked List can increase as per the user wish and the size is not fixed, it can vary.                Suppose first node of linked list is allocated with an address 1008. Its graphical representation looks like the figure shown below:       Suppose next node is allocated at an address 506, so the list becomes,   Suppose next node is allocated with an address with an address 10,s the list become, The other way to represent the linked list is as shown below:  In the above representation the data stored in the linked list is “INDIA”, the information part of each node contains one character. The external pointer root points to first node’s address 1005. The link part of the node containing information I contains 1007, the address of