Repeater进行模板设计以及实现数据的分页显示
来源:互联网 发布:刷砖软件 编辑:程序博客网 时间:2024/05/03 00:22
在讲解Repeater控件的用法之前首先要说一说什么是模板,模板就是一组HTML元素和控件,他们构成组件特定部分的布局,用来控制控件样式和外观,其次,并非所有的Web服务器控件都支持模板,而Repeater控件、DataGrid控件和DataList控件等这些复杂的控件就支持模板,当然了他们对模板的支持程度不一样,这篇博客就详细介绍Repeater控件如何进行模板设计以及如何简单的进行数据的分页显示。
Repeater支持的模板:ItemTemplate普通模板、AlternatingItemTemplate交替模板、HeaderTemplate页眉模板、FooterTemplate页脚模板、SeparatorTemplate分隔符模板。
这五种模板分别针对于数据的一般显示、交替数据显示、设置页眉和页脚以及添加分隔符等。
Repeater控件不支持直接编辑,必须在HTML源中手动填写。
设计界面:
在控件中用一个table显示数据。
下面就是手动填写的HTML代码:
<form id="form1" runat="server"> <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" OnClick="Button2_Click" Text="下一页" /> </p> <div> </div> <asp:Panel ID="Panel1" runat="server" CssClass="auto-style1" Height="249px" Width="500px"> <asp:Repeater ID="Repeater1" runat="server"> <span style="color:#3366ff;"> <ItemTemplate> <tr> <td> <%# DataBinder.Eval(Container.DataItem,"userID")%> <%# DataBinder.Eval(Container.DataItem,"userName")%> </td> </tr> </ItemTemplate> <AlternatingItemTemplate> <font color="blue"> <tr> <td> <%# DataBinder.Eval(Container.DataItem,"userID")%> <%# DataBinder.Eval(Container.DataItem,"userName")%> </td> </tr> </font> </AlternatingItemTemplate> <HeaderTemplate> <h3>模板页眉</h3> <table border="1"> <tr> <td>用户ID</td> </tr> </HeaderTemplate> <FooterTemplate> <h3>模板页脚</h3> </table> </FooterTemplate></span> </asp:Repeater> </asp:Panel></form>
我们将控件放在一个容器Panel里面,然后对于显示数据的部分用一个表格显示,我们用DataBinder.Eval()方法绑定数据,具体的绑定过程为:
<%#DataBinder.EVal(Contalner.Dataltem,"max--IVI","{0:c}")%>
其中的max—IVI是绑定的字段,{0:c}是绑定数据的显示类型(可以绑定任何的类型,自己设置这个参数即可)。
这里用到了四个模板分别为普通模板、交替模板、页眉和页脚,如何使用就不细说了。
设置好了页面,下面就是后台代码的编写了,同样还是和之前介绍的方法一样,创建一个连接数据库的DB类:
编写连接服务器数据库的语句和之前的一样,就不详细介绍了。
接下来就是数据分页显示:
编写分页显示数据的方法:
private void dataBindToRepeater() {<span style="white-space:pre"></span>//设定当前页,对文本框中的内容进行强制转换
<span style="white-space:pre"></span> int curPage = Convert.ToInt32(this.Label2.Text); <span style="white-space:pre"></span>//定义连接对象 SqlConnection con = DB.createCon(); SqlDataAdapter sda = new SqlDataAdapter();//创建一个适配器用来保存数据 sda.SelectCommand = new SqlCommand("select * from T_UserInfo", con); //定义命令对象用来对数据库操作 DataSet ds = new DataSet();//定义一个记录集 sda.Fill(ds); //将数据填充到记录集实例化的表 //引入命名空间 System.Web.UI.WebControls.PagedDataSource ps = new PagedDataSource(); ps.DataSource = ds.Tables[0].DefaultView;//设定可分页的数据源为显示表的视图 ps.AllowPaging = true;//允许分页 ps.PageSize = 3;//每页中显示的数量为3 ps.CurrentPageIndex = curPage - 1;//设置当前页 this.Button1.Enabled = true; this.Button2.Enabled = true;<span style="white-space:pre"></span>//如果是当前页,按钮不可用 <span style="white-space:pre"></span>if (curPage==1)<span style="white-space:pre"></span> { <span style="white-space:pre"></span>this.Button1.Enabled = false; <span style="white-space:pre"></span>} <span style="white-space:pre"></span>//如果是最后一页,按钮不可用 <span style="white-space:pre"></span>if (curPage==ps.PageCount) <span style="white-space:pre"></span>{ <span style="white-space:pre"></span>this.Button2.Enabled = false;<span style="white-space:pre"></span> } <span style="white-space:pre"></span>this.Repeater1.DataSource = ps; <span style="white-space:pre"></span> this.Repeater1.DataBind(); }对上一页的按钮单击事件进行编码:protected void Button1_Click(object sender, EventArgs e){ //对Label2中的内容进行转换,然后减1之后重新赋值给Label2 this.Label2.Text = Convert.ToString(Convert.ToInt32(this.Label2.Text) - 1);//重新绑定数据 this.dataBindToRepeater(); }对下一页的按钮单击事件进行编码:protected void Button2_Click(object sender, EventArgs e){//对Label2中的内容进行转换,然后加1之后重新赋值给Label2 this.Label2.Text =Convert.ToString(Convert.ToInt32(this.Label2.Text) + 1);//重新绑定数据 this.dataBindToRepeater();}
- Repeater进行模板设计以及实现数据的分页显示
- 利用Repeater控件实现数据分页显示
- repeater分页显示数据
- Repeater显示数据的例子,带分页
- 使用Repeater实现分页显示
- repeater分页的实现
- repeater分页的实现
- repeater分页的实现
- repeater分页的实现
- 使用Repeater绑定数据,及提取显示数据进行操作的一点小方法!(模板列)
- 用jsp进行数据分页显示的一个实现
- 用jsp进行数据分页显示的一个实现
- 用jsp进行数据分页显示的一个实现
- PagedDataSource类实现DataList和Repeater控件的分页显示
- Repeater简单快速显示,分页数据(转载)
- Repeater控件的分页实现
- 绑定Repeater实现分页获取数据
- Repeater实现没有数据的时候显示提示语句
- 常用智能指针使用源代码示例
- [转]MVC3.0 Razor实现Ajax数据分页
- openstack学习资源
- 程序员必须知道的10大基础实用算法及其讲解
- A Simple Math Problem
- Repeater进行模板设计以及实现数据的分页显示
- C/C++ 内存块与字符串操作函数
- MapReduce执行流程
- android异步处理和消息机制的总结
- Java的集合
- C++利用堆栈编写的一位整数中缀表达式计算器
- Linux通过ntfs-3g挂载ntfs文件系统
- win8安装android
- QT的QMessageBox使用方法(设置字体大小,颜色等)