關(guān)于更多類(lèi)中數(shù)據(jù)操作的方法見(jiàn) http://thcjp.cnblogs.com/archive/2006/06/18/428775.html 這篇
下面 fill() 方法調(diào)用很簡(jiǎn)單,在頁(yè)面中要重新綁定的地方 寫(xiě)上 fill() 就可以了,呵呵!但是一定要寫(xiě)哦,例如翻頁(yè)動(dòng)作執(zhí)行后!
下面是db類(lèi)中的ds方法
public static DataTable ds(string que)
{//返回一個(gè)裝載了SQL制定留言的數(shù)據(jù)表,
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"];
}
下面方法使用的數(shù)據(jù)源就是上面的這個(gè){//返回一個(gè)裝載了SQL制定留言的數(shù)據(jù)表,
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"];
}
private void fill()
{//做的一個(gè)方法,因?yàn)轫?yè)內(nèi)將有多次的綁定
//這里設(shè)置一個(gè)隱藏的Label,用與儲(chǔ)存當(dāng)前的頁(yè)索引
int cup = Convert.ToInt32(pagelbl.Text);
PagedDataSource ps = new PagedDataSource();//NEW一個(gè)分頁(yè)數(shù)據(jù)源
ps.DataSource = odb.ds("select * from guest order by id desc").DefaultView;//送一個(gè)SQL語(yǔ)句進(jìn)去,確定該數(shù)據(jù)源的數(shù)據(jù)源,有點(diǎn)繞吧,呵呵
ps.AllowPaging = true;//允許分頁(yè)
ps.PageSize = 2;//設(shè)置頁(yè)的數(shù)量
ps.CurrentPageIndex = cup-1;
if (!IsPostBack)
{//判斷頁(yè)面是否第一次載入
for (int i = 1; i <= ps.PageCount; i++)
{//循環(huán)出頁(yè)碼
pageddl.Items.Add(i.ToString());
}
}
//下面主要是控制上下翻頁(yè)按紐是否起用
pageup.Enabled = true;
pagedown.Enabled = true;
if (ps.IsFirstPage)
{//如果是最前頁(yè),上頁(yè)按紐不可用
pageup.Enabled = false;
}
if (ps.IsLastPage)
{//如果是最后頁(yè),下頁(yè)按紐不可用
pagedown.Enabled = false;
}
//設(shè)置頁(yè)碼下拉菜單當(dāng)前選中的值
pageddl.SelectedItem.Text = cup.ToString();
//終于可以綁定給DataList了
DataList1.DataSource = ps;
DataList1.DataKeyField = "id";
DataList1.DataBind();
}
{//做的一個(gè)方法,因?yàn)轫?yè)內(nèi)將有多次的綁定
//這里設(shè)置一個(gè)隱藏的Label,用與儲(chǔ)存當(dāng)前的頁(yè)索引
int cup = Convert.ToInt32(pagelbl.Text);
PagedDataSource ps = new PagedDataSource();//NEW一個(gè)分頁(yè)數(shù)據(jù)源
ps.DataSource = odb.ds("select * from guest order by id desc").DefaultView;//送一個(gè)SQL語(yǔ)句進(jìn)去,確定該數(shù)據(jù)源的數(shù)據(jù)源,有點(diǎn)繞吧,呵呵
ps.AllowPaging = true;//允許分頁(yè)
ps.PageSize = 2;//設(shè)置頁(yè)的數(shù)量
ps.CurrentPageIndex = cup-1;
if (!IsPostBack)
{//判斷頁(yè)面是否第一次載入
for (int i = 1; i <= ps.PageCount; i++)
{//循環(huán)出頁(yè)碼
pageddl.Items.Add(i.ToString());
}
}
//下面主要是控制上下翻頁(yè)按紐是否起用
pageup.Enabled = true;
pagedown.Enabled = true;
if (ps.IsFirstPage)
{//如果是最前頁(yè),上頁(yè)按紐不可用
pageup.Enabled = false;
}
if (ps.IsLastPage)
{//如果是最后頁(yè),下頁(yè)按紐不可用
pagedown.Enabled = false;
}
//設(shè)置頁(yè)碼下拉菜單當(dāng)前選中的值
pageddl.SelectedItem.Text = cup.ToString();
//終于可以綁定給DataList了
DataList1.DataSource = ps;
DataList1.DataKeyField = "id";
DataList1.DataBind();
}
再下面是翻頁(yè)事件的處理
protected void pageddl_SelectedIndexChanged(object sender, EventArgs e)
{//頁(yè)碼下拉菜單事件
pagelbl.Text = pageddl.SelectedItem.Text.ToString();
fill();
}
protected void pagedown_Click(object sender, EventArgs e)
{//下頁(yè)事件
pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)+1);
fill();
}
protected void pageup_Click(object sender, EventArgs e)
{//上頁(yè)事件
pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)-1);
fill();
}
{//頁(yè)碼下拉菜單事件
pagelbl.Text = pageddl.SelectedItem.Text.ToString();
fill();
}
protected void pagedown_Click(object sender, EventArgs e)
{//下頁(yè)事件
pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)+1);
fill();
}
protected void pageup_Click(object sender, EventArgs e)
{//上頁(yè)事件
pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)-1);
fill();
}