Click here to Skip to main content
15,886,799 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
my code is


readonly Image _sortImage = new Image();
public string SortDireaction
{
get {
return ViewState["SortDireaction"] != null ? ViewState["SortDireaction"].ToString() : string.Empty;
}
set
{
ViewState["SortDireaction"] = value;
}
}
private string _sortDirection;
protected new void Page_Load(object sender, EventArgs e)
{
base.Page_Load(sender, e);
if (IsPostBack) return;

BindGrid();

}



C#
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
      {
          GridView1.PageIndex = e.NewPageIndex;
          GridView1.DataBind();
          BindGrid();
      }

      protected void BindGrid()
      {
          var fl = GetList();
          var dt = EntitySetToDataTable.ConvertEntitySetToDataTable(fl);
          GridView1.DataSource = dt;
          GridView1.DataBind();
      }

      protected void gv_Sorting(object sender, GridViewSortEventArgs e)
      {
          SetSortDirection(SortDireaction);
          var fl = GetList();
          var dt = EntitySetToDataTable.ConvertEntitySetToDataTable(fl);
          dt.DefaultView.Sort = e.SortExpression + " " + _sortDirection;
          GridView1.DataSource = dt;
          GridView1.DataBind();
          SortDireaction = _sortDirection;
          var columnIndex = 0;
          foreach (var headerCell in GridView1.HeaderRow.Cells.Cast<DataControlFieldHeaderCell>().Where(headerCell => headerCell.ContainingField.SortExpression == e.SortExpression))
          {
              columnIndex = GridView1.HeaderRow.Cells.GetCellIndex(headerCell);
          }
          GridView1.HeaderRow.Cells[columnIndex].Controls.Add(_sortImage);
      }

      protected void SetSortDirection(string sortDirection)
      {
          if (sortDirection == "ASC")
          {
              _sortDirection = "DESC";
              _sortImage.ImageUrl = "../Images/desc.png";

          }
          else
          {
              _sortDirection = "ASC";
              _sortImage.ImageUrl = "../Images/asc.png";
          }
      }

      private IEnumerable<FileList> GetList()
      {
          var filePaths = Directory.GetFiles(MainFolder + ddlMainFolder.SelectedValue + "/" + ddlSubFolder.SelectedValue);
          return (from filePath in filePaths
              let fl = new FileInfo(filePath)
              select new FileList
              {
                  FileName = Path.GetFileName(filePath), Download = filePath, FileSize = GetFileLength(fl.Length), FileSizeInBytes = fl.Length, UploadDate = string.Format("{0:g}", fl.CreationTime)
              }).ToList();
      }



only that page should be sort which i clicked
plz help me
Posted
Updated 11-Sep-14 20:44pm
v3
Comments
ChintanShukla 12-Sep-14 3:06am    
You can do custom paging and then apply your sort logic
check out this link
http://www.codeproject.com/Answers/433645/Custom-pagin-in-asp-net-with-gridview-showing#answer1

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