Click here to Skip to main content
15,881,715 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more: , +
Hello FRNDS, Please solve my problem facing with GRIDVIEW AND DROPDOWNLIST.

Am working on ASp.NET, c#, SqlSERVER2005.

On my webpage I have a Dropdownlist and a Gridview...data is dispalying perfectly from database. and this gridview contains PAGING ALSO(it contains Large number of records in GRIDVIEW) and the thing here is I need to sort the data based upon dropdown.

It should sort the complete column when selected from dropdownlist item.

In dropdownlist I used items as
1)sort by Employee name ---This must be sort alphabetwise A-Z
2)Sort by Hiring Date ---- Ascending order
3)Sort by Terminating Date --- Ascending Order.

When i select one item from Dropdownlist, that particular column must sort in Gridview.


Please help me, and solve this problem.

THANKS IN ADVANCE.
Posted
Comments
bbirajdar 25-Jul-12 5:24am    
what have you tried?
Sandeep Mewara 25-Jul-12 5:25am    
And what is the issue here? What have you tried and are stuck with?

All you need is to sort the data based on a selection made in dropdown.

1 solution

Hi,

Use this:
C#
//Dropdownlist selected value changed event. This can be done on button click event also.
protected void DropDownList1_SelectIndexChanged(object sender, EventArgs e)        {
    gvSorting.Sort(DropDownList1.SelectedValue, SortDirection.Ascending);        
}


C#
//Gridview sort command
protected void gvSorting_Sorting(object sender, GridViewSortEventArgs e)
{
    DataTable dtSortTable = gvSorting.DataSource as DataTable;
    if (dtSortTable != null)
    {
        DataView dvSortedView = new DataView(dtSortTable);
        dvSortedView.Sort = e.SortExpression + " " + getSortDirectionString(e.SortDirection);
        gvSorting.DataSource = dvSortedView;
        gvSorting.DataBind();
    }
}

//Getting the sort direction
private static string getSortDirectionString(SortDirection sortDireciton)
{
    string newSortDirection = String.Empty;
    if (sortDireciton == SortDirection.Ascending)
    {
        newSortDirection = "ASC";
    }
    else
    {
        newSortDirection = "DESC";
    }
    return newSortDirection;
}




All the best.
--Amit
 
Share this answer
 

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



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900