Solved

how to sort asp:gridview when headers are clicked?

Posted on 2010-08-18
2
261 Views
Last Modified: 2013-11-07
i have my gridView code below. everything works fine and now i want to add sorting as a feature to the grid. i have AllowSorting="True" and i added SortExpression="fieldName" to the bound fields i want to make sortable.

im stuck in getting the server side of this figured out.

any help (c# please)?
<asp:GridView ID="gvMilestone" runat="server" AutoGenerateColumns="False" AllowSorting="True"

    AutoGenerateSelectButton="True" CellPadding="4" ForeColor="#333333" GridLines="None"

    Font-Size="8pt" OnRowCommand="GridView_RowCommand" DataKeyNames="ProjectMilestoneId">

    <RowStyle BackColor="#EFF3FB" /> 

    <Columns>

        <asp:BoundField HeaderText="ProjectMilestoneID" DataField="ProjectMilestoneId" />

        <asp:BoundField HeaderText="ProjectId" DataField="ProjectId" />

        <asp:BoundField HeaderText="MilestoneCID" DataField="MileStoneCID" />

        <asp:BoundField HeaderText="Milestone" DataField="MilestoneText" SortExpression="MilestoneText" />

        <asp:BoundField HeaderText="Start Date" DataField="StartDate" SortExpression="StartDate"

            HtmlEncode="false" DataFormatString="{0:dd-MMM-yyyy}" />

        <asp:BoundField HeaderText="End Date" DataField="EndDate" SortExpression="EndDate"

            HtmlEncode="false" DataFormatString="{0:dd-MMM-yyyy}" />

        <asp:BoundField HeaderText="RAGStatusCID" DataField="RAGStatusCID" />

        <asp:BoundField HeaderText="RAG Status" DataField="RAGStatusText" SortExpression="RagStatusText" />

        <asp:BoundField HeaderText="CompletionStatusCID" DataField="CompletionStatusCID" />

        <asp:BoundField HeaderText="Status" DataField="CompletionStatusText" />

        <asp:BoundField HeaderText="StatusText" DataField="StatusText" />

        <asp:BoundField HeaderText="Reporting Priority" DataField="ReportingPriority" SortExpression="ReportingPriority" />

        <asp:BoundField HeaderText="Added" DataField="Added" SortExpression="Added" HtmlEncode="false"

            DataFormatString="{0:dd-MMM-yyyy hh:ss:mm tt}" />

        <asp:BoundField HeaderText="Last Update" DataField="LastUpdate" SortExpression="LastUpdate"

            HtmlEncode="false" DataFormatString="{0:dd-MMM-yyyy hh:ss:mm tt}" />

        <asp:BoundField HeaderText="Update By" DataField="UpdateBy" SortExpression="UpdateBy" />

    </Columns>

    <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />

    <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />

    <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />

    <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />

    <EditRowStyle BackColor="#2461BF" />

    <AlternatingRowStyle BackColor="White" />

</asp:GridView>

Open in new window

0
Comment
Question by:realcoding
2 Comments
 
LVL 18

Accepted Solution

by:
Anil Golamari earned 500 total points
ID: 33465070
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)    {              bindGridView(e.SortExpression, sortOrder);    
       }
    public string sortOrder
    {
       get        {
           if (ViewState["sortOrder"].ToString() == "desc")        
    {            
    ViewState["sortOrder"] = "asc";        
    }        
    else      
      {          
     ViewState["sortOrder"] = "desc";      
     }        
    return ViewState["sortOrder"].ToString();    
    }        set    
   {    
       ViewState["sortOrder"] = value;  
     }    }


For reference:

http://programming.top54u.com/post/ASP-Net-2-0-Gridview-Sorting-Using-C-sharp.aspx
0
 

Author Closing Comment

by:realcoding
ID: 33465599
great link.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Hi friends,  in this video  I'll show you how new windows 10 user can learn the using of windows 10. Thank you.

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now