DataList Paging
http://www.dotnetjunkies.com/Tutorial/70E24E50-C179-4563-B053-2742516BF05B.dcik

解决方案 »

  1.   

    public int Calculate()
    {
    int count;
    string sqlstr = "select count(*) as co from student";
    SqlCommand cmd = new SqlCommand(sqlstr,conn);
    SqlDataReader dr = cmd.ExecuteReader();
    if(dr.Read())
    count = Convert.ToInt32(dr["co"].ToString());
    else
    count = 0;
    return 
    count;
    } public void BindData()
    {
    DataList1.DataSource = CreateDataSource();
    DataList1.DataBind(); prePage.Enabled = true;
    nextPage.Enabled = true;
    if(CurrentPage == (PageCount-1))
    nextPage.Enabled = false;
    if(CurrentPage == 0)
    prePage.Enabled = false;
    curPage.Text = (CurrentPage + 1).ToString();
    } public void List_Change(Object sender, DataListCommandEventArgs e) 
    {
    DataList1.SelectedIndex = e.Item.ItemIndex; BindData();      
    }public void DataGrid_CancelCommand(Object sender,DataListCommandEventArgs e)
    {
    DataList1.EditItemIndex = -1;
    BindData();
    }public void DataGrid_EditCommand(Object sender,DataListCommandEventArgs e)
    {
    DataList1.EditItemIndex = e.Item.ItemIndex;
    BindData();
    }public void PageChange(Object sender,CommandEventArgs e)
    {
    CurrentPage = (int)ViewState["PageIndex"];
    PageCount = (int)ViewState["PageCount"];
    string cmd = e.CommandName;
    switch(cmd)
    {
    case "nextPgae":
    if(CurrentPage!=(PageCount-1))
    CurrentPage++;
    break;
    case "prePage":
    if(CurrentPage!=0)
    CurrentPage--;
    break;
    }
    ViewState["PageIndex"] = CurrentPage;
    BindData(); }但实现得有点傻,能够直接用datagrid里的分页功能的