ASP.NET技巧:做個DataList可分頁的資料來源

來源:互聯網
上載者:User

  這個資料來源,分兩部分,一是從資料類中調出資料,然後在本資料來源中對分頁參數以及頁面分頁輔助控制項進行操作!在前面有三個控制項控制翻頁,一個下拉式清單,兩個LinkButton!

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

  下面是db類中的ds方法

public static DataTable ds(string que)
{//返回一個裝載了SQL制定留言的資料表,
OleDbConnection con = odb.con();
OleDbDataAdapter oda = new OleDbDataAdapter();
oda.SelectCommand=new OleDbCommand(que,con);
DataSet ds = new DataSet();
oda.Fill(ds,"thc");
return ds.Tables["thc"];
con.Close();
}下面方法使用的資料來源就是上面的這個
private void fill()
{//做的一個方法,因為頁內將有多次的綁定
//這裡設定一個隱藏的Label,用與儲存當前的頁索引
int cup = Convert.ToInt32(pagelbl.Text);

PagedDataSource ps = new PagedDataSource();//NEW一個分頁資料來源
ps.DataSource = odb.ds("select * from guest order by id desc").DefaultView;//送一個SQL語句進去,確定該資料來源的資料來源,有點繞吧,呵呵
ps.AllowPaging = true;//允許分頁
ps.PageSize = 2;//設定頁的數量
ps.CurrentPageIndex = cup-1;
if (!IsPostBack)
{//判斷頁面是否第一次載入
for (int i = 1; i <= ps.PageCount; i++)
{//迴圈出頁碼
pageddl.Items.Add(i.ToString());
}
}
//下面主要是控制上下翻頁按紐是否起用
pageup.Enabled = true;
pagedown.Enabled = true;
if (ps.IsFirstPage)
{//如果是最前頁,上頁按紐不可用
pageup.Enabled = false;
}
if (ps.IsLastPage)
{//如果是最後頁,下頁按紐不可用
pagedown.Enabled = false;
}
//設定頁碼下拉式功能表當前選中的值
pageddl.SelectedItem.Text = cup.ToString();
//終於可以綁定給DataList了
DataList1.DataSource = ps;
DataList1.DataKeyField = "id";
DataList1.DataBind();
}

  再下面是翻頁事件的處理

protected void pageddl_SelectedIndexChanged(object sender, EventArgs e)
{//頁碼下拉式功能表事件
pagelbl.Text = pageddl.SelectedItem.Text.ToString();
fill();
}
protected void pagedown_Click(object sender, EventArgs e)
{//下頁事件
pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)+1);
fill();
}
protected void pageup_Click(object sender, EventArgs e)
{//上頁事件
pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)-1);
fill();
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.