.NET DataList的使用和分页

时间:2015/12/3 16:51:00来源:互联网 作者:flyso 点击: 871 次

datalist和repeater一样,都是根据自己的需要添加自己的模板,简单例子如下:

前台代码如下:

view sourceprint?<body>  

    <form id="form1" runat="server">  

    <div>  

        <asp:DataList ID="DataList1" runat="server" DataKeyField="ID"  RepeatDirection="Horizontal">  

            <ItemTemplate>  

                <div style="text-align: left; background-color: #99ffcc;">  

                    ID:<asp:Label ID="IDLabel" runat="server" Text='<%# Eval("ID") %>'></asp:Label><br />  

                    Name:<asp:Label ID="Pro_NameLabel" runat="server" Text='<%# Eval("Name") %>'></asp:Label><br />  

                    Price:<asp:Label ID="Pro_PriceLabel" runat="server" Text='<%# Eval("Price") %>'></asp:Label><br />  

                    Introduce:<asp:Label ID="Pro_IntroduceLabel" runat="server" Text='<%# Eval("Introduce") %>'></asp:Label><br />  

                </div>                            

            </ItemTemplate>  

        </asp:DataList>  

        当前页:<asp:Label ID="lblCurrent" runat="server" Text="1"></asp:Label>  

        总页数:<asp:Label ID="lblTotal" runat="server" Text="Label"></asp:Label>  

        <asp:LinkButton ID="lbtnFirst" runat="server" OnClick="lbtnFirst_Click">第一页</asp:LinkButton>  

        <asp:LinkButton ID="lbntUp" runat="server" OnClick="lbntUp_Click">上一页</asp:LinkButton>  

        <asp:LinkButton ID="lbtnDown" runat="server" OnClick="lbtnDown_Click">下一页</asp:LinkButton>  

        <asp:LinkButton ID="lbtnLast" runat="server" OnClick="lbtnLast_Click">最后一页</asp:LinkButton>  

    </div>  

    </form>  

< /body>

后台代码如下:

view sourceprint?protected void Page_Load(object sender, EventArgs e)  

{  

    DataListBind();  

}  

  

private void DataListBind()  

{  

    int current_page = Convert.ToInt32(lblCurrent.Text);  

    SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);  

    SqlDataAdapter oda = new SqlDataAdapter("select * from June_Pro", con);  

    DataSet ds = new DataSet();  

    oda.Fill(ds);  

  

    PagedDataSource ps = new PagedDataSource();  

    ps.DataSource = ds.Tables[0].DefaultView;  

    ps.AllowPaging = true;  

    ps.PageSize = 4;  

    lblTotal.Text = ps.PageCount.ToString();  

    ps.CurrentPageIndex = current_page - 1;  

    lbtnFirst.Enabled = true;  

    lbntUp.Enabled = true;  

    lbtnDown.Enabled = true;  

    lbtnLast.Enabled = true;  

    if (current_page == 1)  

    {  

        lbtnFirst.Enabled = false;  

        lbntUp.Enabled = false;  

    }  

    if (current_page == Convert.ToInt32(lblTotal.Text))  

    {  

        lbtnLast.Enabled = false;  

        lbtnDown.Enabled = false;  

    }  

    DataList1.DataSource = ps;  

    DataList1.DataBind();  

}  

protected void lbtnFirst_Click(object sender, EventArgs e)  

{  

    lblCurrent.Text = "1";  

    DataListBind();  

}  

protected void lbtnDown_Click(object sender, EventArgs e)  

{  

    lblCurrent.Text = (Convert.ToInt32(lblCurrent.Text) + 1).ToString();  

    DataListBind();  

}  

protected void lbntUp_Click(object sender, EventArgs e)  

{  

    lblCurrent.Text = (Convert.ToInt32(lblCurrent.Text) - 1).ToString();  

    DataListBind();  

}  

protected void lbtnLast_Click(object sender, EventArgs e)  

{  

    lblCurrent.Text = lblTotal.Text;  

    DataListBind();  

}

运行结果如下图:

Copyright © 2005 - 2016 flyso.cn. 飞搜 版权所有 鄂ICP备11002783号-3