Answer:
We have to set AllowSorting = "true" in Gridview definition.
Add Sortexpression="Column_Name" in Templatefield or in BoundField.
Then we can have Sorting functionality.
Suppose,we have a Gridview like below:-
<asp:GridView ID="grid_view_employee_details" runat="server" AllowSorting="true"
OnSorting="grid_view_employee_details_Sorting">
</asp:GridView>
SortDirection and SortExpression are the properties we have to refer for Sorting purpose.
I am assuming that,Gridview has filled with data.
OnSorting event,we have to write code as:-
protected void grid_view_employee_details_OnSorting(object sender, GridViewSortEventArgs e)
{
DataTable dtGridData = ViewState["grdDataSource"] as DataTable;
DataView dvGridDataView = dtGridData.DefaultView;
string strSortOrder = "";
if (ViewState["SortOrder"]==null)
{
ViewState["SortOrder"] = "asc";
}
if (ViewState["SortOrder"].ToString() == "asc")
{
ViewState["SortOrder"] = "desc";
strSortOrder = "desc";
}
else if (ViewState["SortOrder"].ToString() == "desc")
{
ViewState["SortOrder"] = "asc";
strSortOrder = "asc";
}
dvGridDataView.Sort = e.SortExpression + " " + strSortOrder;
dtGridData = dvGridDataView.ToTable();
grid_view_employee_details.DataSource = dtGridData;
grid_view_employee_details.DataBind();
}
Asked In: Many Interviews |
Alert Moderator