Click here to Skip to main content
Click here to Skip to main content

New Ways of Sorting gridview without viewstate >>

, 4 Aug 2013
Rate this:
Please Sign up or sign in to vote.
Sorting GridView using attribute property of GridView
This is an old version of the currently published tip/trick.

Introduction

Many developers who try to sort a GridView generally use the ViewState for maintaining the last position of the GridView. Here, I want to show you a new technique of doing this...

Here is my GridView code:

<asp:GridView ID="GridView1" runat="server" AllowSorting="true" 
        AutoGenerateColumns="False" onsorting="GridView1_Sorting" 
        CurrentSortField="employeeid" CurrentSortDirection="ASC" 
        onrowcreated="GridView1_RowCreated" AllowPaging="true" 
        CaptionAlign="Bottom" onpageindexchanging="GridView1_PageIndexChanging" 
        onprerender="GridView1_PreRender" 
         PageSize="2">
      <Columns>
        <asp:BoundField  DataField="EmployeeId" HeaderText="Last Name"  
              ItemStyle-Width="15%" SortExpression="EmployeeId" >
        <ItemStyle Width="15%"></ItemStyle>
          </asp:BoundField>
        <asp:BoundField DataField="Name" HeaderText="First Name"  ItemStyle-Width="15%" 
              SortExpression="Name"  >
             <ItemStyle Width="15%"></ItemStyle>
          </asp:BoundField>
        <asp:BoundField DataField="gender" HeaderText="Email" ItemStyle-Width="15%" >
            <ItemStyle Width="15%"></ItemStyle>
          </asp:BoundField>
        <asp:TemplateField HeaderText="Change Password"  ItemStyle-Width="15%">

        <ItemTemplate>

            <asp:LinkButton ID="imgbtn1" runat="server">change password</asp:LinkButton>
        </ItemTemplate>

             <ItemStyle Width="15%"></ItemStyle>
          </asp:TemplateField>
        <asp:BoundField DataField="city" HeaderText="Date created"  ItemStyle-Width="15%">
             <ItemStyle Width="15%"></ItemStyle>
          </asp:BoundField>
        </Columns>
        <PagerSettings Mode="NextPreviousFirstLast" />
    </asp:GridView>

And I sort using the attribute property of the GridView.

private void GridView1_Sorting (GridView gridview, GridViewSortEventArgs e, 
         out SortDirection sortDirection, out string sortField)
{
    sortField = e.SortExpression;
    sortDirection = e.SortDirection;
    if (gridview.Attributes["CurrentSortField"] != null && 
         gridview.Attributes["CurrentSortDirection"] != null)
    {
        if (sortField == gridview.Attributes["CurrentSortField"])
        {
            if (gridview.Attributes["CurrentSortDirection"] == "ASC")
            {
                sortDirection = SortDirection.Descending;
            }
            else
            {
                sortDirection = SortDirection.Ascending;
            }
        }
        gridview.Attributes["CurrentSortField"] = sortField;
        gridview.Attributes["CurrentSortDirection"] = 
           (sortDirection == SortDirection.Ascending ? "ASC" : "DESC");
    }
}

Now you will get the last sorted and filed easily and it generally shows that while developing there is too much load on the page using the viewstate and this method works best for us.

I am sure this will definitely help you. Smile | :)

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

AJD-salute
Web Developer
India India
No Biography provided

Comments and Discussions


Discussions posted for the Published version of this article. Posting a message here will take you to the publicly available article in order to continue your conversation in public.
 
GeneralMy vote of 2 Pinmemberridoy26-Aug-13 4:28 
GeneralRe: My vote of 2 Pinmemberdholakiya ankit26-Aug-13 17:27 
GeneralRe: My vote of 2 Pinmemberdholakiya ankit26-Aug-13 21:29 
GeneralRe: My vote of 2 Pinmemberridoy27-Aug-13 1:15 
GeneralRe: My vote of 2 Pinmemberdholakiya ankit27-Aug-13 1:38 
GeneralMy vote of 3 PinmemberManikandan Sekar21-Aug-13 22:11 
GeneralRe: My vote of 3 Pinmemberdholakiya ankit22-Aug-13 18:00 
QuestionVote of 5 PinmemberLeslie K.15-Aug-13 10:27 
AnswerRe: Vote of 5 Pinmemberdholakiya ankit15-Aug-13 17:22 
Questiondemo Pinmemberdholakiya ankit13-Aug-13 18:49 
AnswerRe: demo PinprofessionalMaimonides13-Aug-13 22:04 
GeneralRe: demo Pinmemberdholakiya ankit13-Aug-13 22:16 
QuestionMy Vote of 3 PinmemberSruthiR13-Aug-13 18:34 
AnswerRe: My Vote of 3 Pinmemberdholakiya ankit13-Aug-13 18:36 
AnswerRe: My Vote of 3 Pinmemberdholakiya ankit13-Aug-13 23:07 
GeneralRe: My Vote of 3 PinmemberSruthiR14-Aug-13 0:55 
GeneralRe: My Vote of 3 Pinmemberdholakiya ankit14-Aug-13 1:20 
GeneralMy vote of 3 PinprofessionalAlexCode6-Aug-13 20:56 
GeneralRe: My vote of 3 Pinmemberdholakiya ankit6-Aug-13 21:04 
GeneralMy vote of 1 PinmemberMehedi Hassan Mody5-Aug-13 22:32 
GeneralRe: My vote of 1 Pinmemberdholakiya ankit5-Aug-13 22:46 
GeneralMy vote of 3 PinmemberHaBiX4-Aug-13 3:45 
GeneralRe: My vote of 3 Pinprofessionaldholakiya ankit4-Aug-13 18:12 
GeneralRe: My vote of 3 Pinmemberprakash.padariya20-Jan-14 19:18 
GeneralRe: My vote of 3 PinmemberAJD-salute3-Feb-14 15:42 
GeneralMy vote of 5 PinmemberWeerayut Teja3-Aug-13 17:35 
GeneralRe: My vote of 5 Pinprofessionaldholakiya ankit4-Aug-13 18:11 
GeneralMy vote of 3 Pinmemberaashi272-Aug-13 0:44 
GeneralRe: My vote of 3 [modified] Pinprofessionaldholakiya ankit2-Aug-13 0:50 
QuestionPlease feedfack about this Pinprofessionaldholakiya ankit2-Aug-13 0:11 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web04 | 2.8.140721.1 | Last Updated 5 Aug 2013
Article Copyright 2013 by AJD-salute
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid