关闭

NET DataList 分页源码 (转)

2597人阅读 评论(0) 收藏 举报
 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() + " ";
    }

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:196794次
    • 积分:2440
    • 等级:
    • 排名:第15157名
    • 原创:37篇
    • 转载:18篇
    • 译文:0篇
    • 评论:62条
    文章分类
    最新评论