zoukankan      html  css  js  c++  java
  • 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();
        }
    

    运行结果如下图:

  • 相关阅读:
    卡顿检测
    FPS检测
    当检测到慢函数时,会在后台线程完成慢函数的分析
    慢函数检测
    对于没有复现onWindowFocusChange方法的Activity子类,插入一个onWindowFocusChange方法
    将totalCost用insurance的set方法set到保险总费用的字段中,然后进行插入操作。代码如下
    XML基础学习02<linq to xml>
    XML基础学习01
    Ajax学习记录
    数据迁移
  • 原文地址:https://www.cnblogs.com/JuneZhang/p/1997005.html
Copyright © 2011-2022 走看看