Repeat和AspNetPager控件
来源:互联网 发布:我爱你韩国知乎 编辑:程序博客网 时间:2024/06/15 02:30
Repeat控件
DEMO
顾名思义,此控件主要用于显示“重复的内容”。其中需要重复显示的内容放在
<ItemTemplate></ItemTemplate>
以下是一个简单的例子:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Repeater.aspx.cs" Inherits="RepearANDPaging.Repeater" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style> .stuInfo {float: left;width: 240px;height: 110px; padding: 5px 5px 5px 10px; background-color: #629269; border: 1px solid #3b3e7c; } </style></head><body> <form id="form1" runat="server"> <div> <asp:Repeater ID="Repeater1" runat="server" DataMember="DefaultView" DataSourceID="SqlDataSource1" OnItemCommand="Repeater1_ItemCommand"> <ItemTemplate> <div class="stuInfo"> 姓名:<%#Eval("StudentName") %><br /> 性别:<%#Eval("Sex") %><br /> 专业:<%#Eval("Major") %><br /> 毕业院校: <%#Eval("SchoolBefore") %><br /> 地址:<%#Eval("Address") %><br /> <%--Eval("数据库中的字段名") --%> </div> </ItemTemplate> </asp:Repeater> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MySchoolConnectionString %>" SelectCommand="SELECT * FROM [Student]"></asp:SqlDataSource> </div> </form></body></html>
由于只是示例,数据是采用直接绑定数据源的方式实现的,通过后台代码绑定也是一样。
结果如下:
模板
Repeater中使用模板
Repeater支持以下5种模板
● ItemTemplate : 对每一个数据项进行格式设置 【Formats each item from the data source.】
● AlternatingItemTemplate : 对交替数据项进行格式设置
● SeparatorTemplate : 对分隔符进行格式设置
● HeaderTemplate : 对页眉进行格式设置
● FooterTemplate : 对页脚进行格式设置
再看一个例子:
<style> html {background-color:Silver} .content {width:600px;border:soild 1px black;background-color:White;} .movies {border-collapse:collapse;} .movies th,.movies td {padding:10px;border-bottom:1px solid black;} .alternating {background-color:#eeeeee;}</style><div class="content"><asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1"> <HeaderTemplate> <!-- 显示头部 --> <table class="movies"> <!-- table头部声明--> <tr> <th>Movie Title</th> <th>Movie Director</th> <th>Box Office Totals</th> </tr> </HeaderTemplate> <ItemTemplate> <!-- 数据行 --> <tr> <td><%#Eval("Title") %></td> <td><%#Eval("Director") %></td> <td><%#Eval("BoxOfficeTotals","{0:c}") %></td> <!-- 格式化为货币形式 --> </tr> </ItemTemplate> <AlternatingItemTemplate> <!-- 交错行 --> <tr class="alternating"> <td><%#Eval("Title") %></td> <td><%#Eval("Director") %></td> <td><%#Eval("BoxOfficeTotals","{0:c}") %></td> </tr> </AlternatingItemTemplate> <FooterTemplate> <!-- 脚注行 --> </table> <!-- table尾 --> </FooterTemplate></asp:Repeater></div>
此例来自:http://www.cnblogs.com/shipfi/archive/2009/10/19/1585703.html
AspNetPager 控件
- 首先搜索下载此控件 http://www.webdiyer.com/aspnetpager/demos/
- 添加引用 , 并在aspx页面加入
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
- 将此dll拖入VS的工具箱(可以省略 自己写代码也可,加入工具箱后可直接插入)
- 此控件的更多功能DEMO 请访问:http://www.webdiyer.com/aspnetpager/demos/
主要用于各种场合下的分页,用此控件的分页是真实的分页。相比GRIDVIEW的分页功能,GRIDVIEW是一次将数据拿出,显示的时候分页。而此控件的分页是每次从查询不同的数据出来。
还是直接拿例子看的明白些:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AspNetPager.aspx.cs" Inherits="RepearANDPaging.AspNetPager" %><%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style> body {width:100%;} #content {overflow:hidden;} .stuInfo {float: left;width: 240px; height: 110px; padding: 5px 5px 5px 10px; background-color: #629269; border: 1px solid #3b3e7c; } #AspNetPager1 {margin:0 auto; width:120px; } </style></head><body> <form id="form1" runat="server"> <div id ="content"> <asp:Repeater ID="Repeater1" runat="server" DataMember="DefaultView"> <ItemTemplate> <div class="stuInfo"> 姓名:<%#Eval("StudentName") %><br /> 性别:<%#Eval("Sex") %><br /> 专业:<%#Eval("Major") %><br /> 毕业院校: <%#Eval("SchoolBefore") %><br /> 地址:<%#Eval("Address") %><br /> <%--Eval("数据库中的字段名") --%> </div> </ItemTemplate> </asp:Repeater> </div> <webdiyer:AspNetPager ID="AspNetPager1" runat="server" PageSize="10" OnPageChanged="AspNetPager1_PageChanged"></webdiyer:AspNetPager> </form></body></html>
.cs:
namespace RepearANDPager{ public partial class AspNetPager : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { AspNetPager1.RecordCount = Convert.ToInt16(SqlDBHelper.ExectueScalar("SELECT COUNT(*) FROM STUDENT")); bindData(); } } void bindData() { // 当前页第一条索引和最后一条索引,例如size为10 第一个开始为1 结束10 第二页则是11和20 int i = AspNetPager1.StartRecordIndex; int j = AspNetPager1.EndRecordIndex; //从数据库中查找第i到j行的数据 string sql = "select * from (select row_number() over (order by studentid) as rowNum,* from student) as t where rowNum between " + i + " and " + j; Repeater1.DataSource = SqlDBHelper.ExectueReader(sql); Repeater1.DataBind(); } //protected void AspNetPager1_PageChanging(object src, PageChangingEventArgs e) //{ // //bindData(); //} protected void AspNetPager1_PageChanged(object sender, EventArgs e) { bindData(); } }}
结果 :
此处只做了实现分页的简单示例,更多内容请参照官网DEMO
在数据库中查询 第几行 到第几行的数据
-- 查询10到20行的数据 行号由学生id升序排列产生select * from (select row_number() over (order by studentid) as rowNum,* from student) as t where rowNum between 10 and 20
row_number()函数必须和over() 一起使用,这其实是一个开窗函数,有关开窗函数的知识有待进一步学习。SQL开窗函数
0 0
- Repeat和AspNetPager控件
- AspNetPager控件
- 关于AspNetPager分页控件和My97DatePicker日期控件的使用
- AspNetPager 控件的使用说明和注意事项(三层架构)
- 给AspNetPager控件和GridView的分页添加自定义样式
- 用Gridview和AspNetPager控件实现真分页(一)
- 用Gridview和AspNetPager控件实现真分页(二)
- 结合aspnetpager控件和三层的sql语句的分页
- AspNetPager分页控件
- AspNetPager分页控件
- AspNetPager分页控件
- aspnetpager控件用例
- AspNetPager分页控件
- aspnetpager控件使用方法
- AspNetPager分页控件
- AspNetPager分页控件
- AspNetPager分页控件
- AspNetPager分页控件
- 指针函数与函数指针
- HDU - 2126 Buy the souvenirs
- 找最长等差数列的长度
- Leetcode #53. Maximum Subarray 最大区间和 解题报告
- Edison编译时显示No such file or directory
- Repeat和AspNetPager控件
- Android Service
- Android UI优化之include标签的使用
- atexit()函数的使用
- Android多线程与线程池
- HDU 1219 AC Me(字母统计)
- ZOJ Problem Set - 3938 (模拟)
- SQL
- Linux文件与文件系统的压缩与打包