国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ASP.NET 翻頁后繼續(xù)維持排序

2019-11-18 19:05:31
字體:
供稿:網(wǎng)友

  要想實(shí)現(xiàn)翻頁后繼續(xù)排序,實(shí)現(xiàn)這樣的效果:

  比如共 15筆記錄,每頁顯示10條

  則排序時(shí):第一頁將前10條記錄排序,翻第二頁時(shí)后五條再單獨(dú)排序.

  要注意以下幾點(diǎn):

  1.如果數(shù)據(jù)很多,最好不要把數(shù)據(jù)集放到緩存中(viewstate),影響性能

  2. ViewState中存放上次是哪個(gè)e.exPRession并且存放此e.expression是升序還是降序

  示例如下:

  1.現(xiàn)有的排序事件是這樣寫的,這個(gè)是點(diǎn)擊上面排序標(biāo)題時(shí)用:

private void grdProjTrace_SortCommand(object source, DataGridSortCommandEventArgs e)
{
 this.grdProjTrace.CurrentPageIndex = 0;
 DataView dv = 得到數(shù)據(jù)代碼;
 string strSort = "";
 string strOrder ="";//排序方式。0,降序,1升序
 if(ViewState["SortExpresstion"] != null)
 {
  strSort = ViewState["SortExpresstion"].ToString();
  strSort = strSort.Substring(0,strSort.Length -1);
  strOrder = ViewState["SortExpresstion"].ToString();
  strOrder = strOrder.Substring(strOrder.Length -1);
 }
 if(e.SortExpression == "CustomerName")
 {
  if(strSort != "CustomerName")
  {
   this.ViewState["SortExpresstion"] = ustomerName0";
   dv.Sort = "CustomerName DESC";
  }
  else
  {
   if(strOrder == "0")
   {
    this.ViewState["SortExpresstion"] = "CustomerName1";
    dv.Sort = "CustomerName ASC";
   }
   else
   {
    this.ViewState["SortExpresstion"] = "CustomerName0";
    dv.Sort = "CustomerName DESC";
   }
  }
 }
 if(e.SortExpression == "fullName")
 {
  if(strSort != "fullName")
  {
   this.ViewState["SortExpresstion"] = "fullName0";
   dv.Sort = "fullName DESC";
  }
  else
  {
   if(strOrder == "0")
   {
    this.ViewState["SortExpresstion"] = "fullName1";
    dv.Sort = "fullName ASC";
   }
   else
   {
    this.ViewState["SortExpresstion"] = "fullName0";
    dv.Sort = "fullName DESC";
   }
  }
 }
 this.grdProjTrace.DataSource = dv;
 this.grdProjTrace.DataBind();
}

  2.下面這個(gè)方法是自己寫的,翻頁事件中調(diào)用。

private void ChangePageDataBind()
{
 DataView dv = 得到數(shù)據(jù)代碼;
 string strSort = "";
 string strOrder ="";//排序方式。0,降序,1升序
 if(ViewState["SortExpresstion"] != null)
 {
  strSort = ViewState["SortExpresstion"].ToString();
  strSort = strSort.Substring(0,strSort.Length -1);
  strOrder = ViewState["SortExpresstion"].ToString();
  strOrder = strOrder.Substring(strOrder.Length -1);
 }
 if(this.ViewState["SortExpresstion"] != null)
 {
  if(strSort == "CustomerName")
  {
   if(strOrder == "1")
   {
    this.ViewState["SortExpresstion"] = "CustomerName1";
    dv.Sort = "CustomerName ASC";
   }
   else
   {
    this.ViewState["SortExpresstion"] = "CustomerName0";
    dv.Sort = "CustomerName DESC";
   }
  }
 }
 if(this.ViewState["SortExpresstion"] != null)
 {
  if(strSort == "fullName")
  {
   if(strOrder == "1")
   {
    this.ViewState["SortExpresstion"] = "fullName1";
    dv.Sort = "fullName ASC";
   }
   else
   {
    this.ViewState["SortExpresstion"] = "fullName0";
    dv.Sort = "fullName DESC";
   }
  }
 }
 this.grdProjTrace.DataSource = dv;
 this.grdProjTrace.DataBind();
}

  上面兩方法只要修改要排序的字段名,就可以直接調(diào)用了.

  1、方法很簡(jiǎn)單實(shí)用,這里就不說了。

  2、方法是這樣用的:

private void grdProjTrace_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
{
 try
 {
  try
  {
   this.grdProjTrace.CurrentPageIndex = e.NewPageIndex;
  }
  catch
  {
   this.grdProjTrace.CurrentPageIndex = 0;
  }

  this.ChangePageDataBind();
 }
 catch(System.Exception errWS)
 {
  //異常
 }
}


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 丹阳市| 绥德县| 新巴尔虎左旗| 会泽县| 紫金县| 临沭县| 渭源县| 三原县| 宁陕县| 拜泉县| 襄城县| 宁德市| 张家港市| 湘阴县| 桐柏县| 衡南县| 新余市| 齐河县| 柯坪县| 闵行区| 乌苏市| 上蔡县| 伊宁县| 将乐县| 曲麻莱县| 龙游县| 临沂市| 犍为县| 临高县| 洛隆县| 卓资县| 阿拉善左旗| 金湖县| 罗平县| 洪湖市| 孟津县| 普宁市| 鄂托克前旗| 丹东市| 资阳市| 丁青县|