Repeater控件绑定及分页

来源:互联网 发布:html加载完成后执行js 编辑:程序博客网 时间:2024/05/25 21:32

前言


学习牛腩的时候接触到Repeater控件,感觉很神奇。Repeater控件,DataList,Datagrid控件都能绑定数据库动态显示数据库等的内容。

Html代码

<head runat="server">    <title>无标题页</title></head><body>    <form id="form1" runat="server">    <div>        <h1>分页显示</h1>        <p>            <asp:Label ID="Label1" runat="server" Text="当前页:"></asp:Label>            <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上一页" />            <asp:Button ID="Button2" runat="server" Text="下一页" OnClick="Button2_Click" /></p>        <asp:Panel ID="Panel1" runat="server" Height="224px" Width="503px">        <asp:Repeater ID="Repeater1" runat="server">        <ItemTemplate>        <tr>            <td>            <!--数据绑定 绑定容器的数据项 “”里的是具体绑定的数据项 后面还有一个{0:},可以设置数据的格式}-->            <%# DataBinder.Eval(Container.DataItem,"LastName") %>            <%# DataBinder.Eval(Container.DataItem,"FirstName") %>            </td>        </tr>           </ItemTemplate>        <AlternatingItemTemplate>            <tr>                <td><font color="blue">                <%# DataBinder.Eval(Container.DataItem,"LastName") %>                <%# DataBinder.Eval(Container.DataItem,"FirstName") %>                </td>            </tr>               </font>          </AlternatingItemTemplate>        <HeaderTemplate>            <h3>模板页眉</h3>            <table border="1">            <tr>                <td>员工名字</td>            </tr>        </HeaderTemplate>        <FooterTemplate>            <h3>模板页脚</h3>            </table>        </FooterTemplate>        </asp:Repeater>        </asp:Panel>    </div>    </form></body>

后台代码

public partial class repeaterControl : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {        //第一次登录        if (!this.IsPostBack)        {            this.Label2.Text = "1";            this.dataBindToRepeater();        }    }    private void dataBindToRepeater()    {        int curPage = Convert.ToInt32(this.Label2.Text);        SqlConnection con = DB.createCon();        SqlDataAdapter sda = new SqlDataAdapter();        sda.SelectCommand = new SqlCommand("select * from employees", con);        DataSet ds = new DataSet();        sda.Fill(ds, "emp");        //分页用pageddatasource        System.Web.UI.WebControls.PagedDataSource ps = new PagedDataSource();        ps.DataSource = ds.Tables["emp"].DefaultView;        ps.AllowPaging = true;        ps.PageSize = 3;        ps.CurrentPageIndex = curPage - 1;        this.Button1.Enabled = true;        this.Button2.Enabled = true;        if (curPage == 1)        {            this.Button1.Enabled = false;        }        if (curPage == ps.PageCount)        {            this.Button2.Enabled = false;        }        this.Repeater1.DataSource = ps;        this.Repeater1.DataBind();    }    //上一页按钮单击    protected void Button1_Click(object sender, EventArgs e)    {        this.Label2.Text = Convert.ToString((Convert.ToInt32(this.Label2.Text)) - 1);        this.dataBindToRepeater();    }    //下一页按钮单击    protected void Button2_Click(object sender, EventArgs e)    {        this.Label2.Text = Convert.ToString((Convert.ToInt32(this.Label2.Text)) + 1);        this.dataBindToRepeater();    }}

结语


这几天主要学了一些asp.net中的控件:内置控件,复杂控件(广告控件和日历控件),验证控件和列表控件。不知道该如何总结,学的也是囫囵吞枣,还是应该找几个重点的例子敲一敲,实践实践。

0 0