datalist 分页

来源:互联网 发布:翻译课文的软件 编辑:程序博客网 时间:2024/06/05 08:50

private const int PAGECOUNT = 9;
    private static int nPhotoCount = 0;
    private int nPhotoAllPageCount = 0;
    private int nPhotoCurrentPage = 0;
    protected void Page_Load(object sender, EventArgs e)
    {

        if (ViewState["PhotoCurrentPage"] != null)
        {
            nPhotoCurrentPage = Int32.Parse(ViewState["PhotoCurrentPage"].ToString());
        }
        if (!Page.IsPostBack)
        {
            BindPhotoData();
            //重新绑定当前的页码  
            Label3.Text = (nPhotoCurrentPage + 1).ToString() + " ";
        }
    }
    private void BindPhotoData()
    {
        SqlDataAdapter ad = new SqlDataAdapter("select * from sysobjects","server=.;database=master;uid=sa;pwd=;");
        DataSet set = new DataSet();
        ad.Fill(set);
        nPhotoCount = set.Tables[0].Rows.Count;
        nPhotoAllPageCount = nPhotoCount / PAGECOUNT;
        if (nPhotoAllPageCount * PAGECOUNT < nPhotoCount)
        {
            nPhotoAllPageCount++;
        }
        //照片的总数量和总页数
        Label1.Text = nPhotoAllPageCount.ToString() + " ";
        Label2.Text = nPhotoCount.ToString() + " ";
        DataSet ds =GetPhotoes(nPhotoCurrentPage * PAGECOUNT, PAGECOUNT);
        DataList1.DataSource = ds;
        DataList1.DataBind();
    }
    public DataSet GetPhotoes(int a,int b)
    {
        SqlDataAdapter ad = new SqlDataAdapter("select * from sysobjects", "server=.;database=master;uid=sa;pwd=;");
        DataSet set = new DataSet();
        ad.Fill(set, a, b, "sysobjects");
        return set;

    }
     private void Page_Click(object sender, System.EventArgs e)
    {
        String commangArg = ((LinkButton)sender).CommandArgument;
        switch (commangArg)
        {
            case "First":
                {
                    nPhotoCurrentPage = 0;
                    break;
                }
            case "Prev":
                {
                    nPhotoCurrentPage = (int)Math.Max(0, nPhotoCurrentPage - 1);
                    break;
                }
            case "Next":
                {
                    nPhotoCurrentPage = (int)Math.Min(nPhotoCount - 1, nPhotoCurrentPage + 1);
                    break;
                }
            case "Last":
                {
                    nPhotoCurrentPage = nPhotoCount - 1;
                    break;
                }
            default:
                {
                    break;
                }
        }
        ViewState["PhotoCurrentPage"] = nPhotoCurrentPage.ToString();
        BindPhotoData();
        Label3.Text = (nPhotoCurrentPage + 1).ToString() + " ";
    }

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wuyq11/archive/2007/09/23/1796557.aspx

原创粉丝点击