熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET技巧:做個DataList 可分頁的數據源

2013-11-13 12:14:20  來源: .NET編程 

  這個數據源分兩部分一是從數據類中調出數據然後在本數據源中對分頁參數以及頁面分頁輔助控件進行操作!在前面有三個控件控制翻頁一個下拉列表兩個LinkButton!

  下面 fill() 方法調用很簡單在頁面中要重新綁定的地方 寫上 fill() 就可以了呵呵!但是一定要寫哦例如翻頁動作執行後!

  下面是db類中的ds方法

  public static DataTable ds(string que) 
  {
   //返回一個裝載了SQL制定留言的數據表 
   OleDbConnection con = odbcon();
   OleDbDataAdapter oda = new OleDbDataAdapter();
   odaSelectCommand=new OleDbCommand(quecon);
   DataSet ds = new DataSet(); 
   odaFill(dsthc);
   return dsTables[thc];
   conClose();
  }
  
  下面方法使用的數據源就是上面的這個

  private void fill()
  {
   //做的一個方法因為頁內將有多次的綁定
   //這裡設置一個隱藏的Label用與儲存當前的頁索引
   int cup = ConvertToInt(pagelblText);

   PagedDataSource ps = new PagedDataSource();//NEW一個分頁數據源
   psDataSource = odbds(select * from guest order by id desc)DefaultView;//送一個SQL語句進去確定該數據源的數據源
   psAllowPaging = true;//允許分頁
   psPageSize = ;//設置頁的數量
   psCurrentPageIndex = cup;
   if (!IsPostBack)
   {
    //判斷頁面是否第一次載入
    for (int i = ; i <= psPageCount; i++)
    {
     //循環出頁碼
     pageddlItemsAdd(iToString());
    }
   }
   //下面主要是控制上下翻頁按紐是否起用
   pageupEnabled = true;
   pagedownEnabled = true;
   if (psIsFirstPage)
   {
    //如果是最前頁上頁按紐不可用
    pageupEnabled = false;
   }
   if (psIsLastPage)
   {
    //如果是最後頁下頁按紐不可用
    pagedownEnabled = false;
   }
   //設置頁碼下拉菜單當前選中的值
   pageddlSelectedItemText = cupToString();
   //終於可以綁定給DataList了
   DataListDataSource = ps;
   DataListDataKeyField = id;
   DataListDataBind();
  }

  再下面是翻頁事件的處理

  protected void pageddl_SelectedIndexChanged(object sender EventArgs e)
  {
   //頁碼下拉菜單事件
   pagelblText = pageddlSelectedItemTextToString(); 
    fill();
  }
  protected void pagedown_Click(object sender EventArgs e)
  {
   //下頁事件
   pagelblText = ConvertToString(ConvertToInt(pagelblText)+);
   fill();
  }
  protected void pageup_Click(object sender EventArgs e)
  {
   //上頁事件
   pagelblText = ConvertToString(ConvertToInt(pagelblText));
   fill();
  }


From:http://tw.wingwit.com/Article/program/net/201311/15470.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.