• DataList的使用+分页


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

    前台代码如下:

    <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>
    

    后台代码如下:

        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();
        }
    

    运行结果如下图:

  • 相关阅读:
    关闭Pinterest通知
    android——创建camera应用(译)
    Android样式——Styles
    Android Fragment学习(一)
    Win32汇编环境配置
    关于微信检测SDK应用的原理浅析(iOS)
    iOS的Mantle实战
    Objective-C运行时的一些技巧
    Autolayout入门教程
    基于RAC的通用TableView
  • 原文地址:https://www.cnblogs.com/JuneZhang/p/1997005.html
Copyright © 2020-2023  润新知