Reapter使用table绑定数据,使用AspNetPager进行分页
2011-10-31 12:43
399 查看
1.UI展示
<div>
<table>
<asp:Repeater ID="Repeater1" runat="server"
onitemdatabound="Repeater1_ItemDataBound">
<HeaderTemplate>
<thead>
<th>
FirstName
</th>
<th>
LastName
</th>
<th>
Title
</th>
<th>
BirthDate
</th>
<th>
Address
</th>
</thead>
</HeaderTemplate>
<ItemTemplate>
<tbody>
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</td>
<td>
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
</td>
<td>
<asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>
</td>
<td>
<asp:Label ID="Label4" runat="server" Text="Label"></asp:Label>
</td>
<td>
<asp:Label ID="Label5" runat="server" Text="Label"></asp:Label>
</td>
</tr>
</tbody>
</ItemTemplate>
</asp:Repeater>
</table>
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" FirstPageText="首页"
AlwaysShow="true"
LastPageText="尾页" NextPageText="下一页" PageIndexBoxType="TextBox"
PrevPageText="上一页" ShowBoxThreshold="5" ShowPageIndexBox="Auto"
SubmitButtonText="Go" TextAfterPageIndexBox="页"
TextBeforePageIndexBox="转到" onpagechanged="AspNetPager1_PageChanged"
UrlPaging="True" >
</webdiyer:AspNetPager>
</div>
2.后台代码
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
InitReapter();
}
}
private void InitReapter()
{
NorthwindEntities db = new NorthwindEntities();
int recordCount = db.Employees.ToList().Count;
AspNetPager1.RecordCount = recordCount;
AspNetPager1.PageSize = 2;
this.Repeater1.DataSource = db.Employees.ToList().Skip((currentPage - 1)*2).Take(2);
this.Repeater1.DataBind();
}
private void InitAspNetPager(int recordCount)
{
AspNetPager1.RecordCount = recordCount;
AspNetPager1.PageSize = 2;
}
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
Employees tmp = (Employees)e.Item.DataItem;
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Label Label1 = (Label)e.Item.FindControl("Label1");
Label1.Text = tmp.FirstName;
Label1 = (Label)e.Item.FindControl("Label2");
Label1.Text = tmp.LastName;
Label1 = (Label)e.Item.FindControl("Label3");
Label1.Text = tmp.Title;
Label1 = (Label)e.Item.FindControl("Label4");
Label1.Text = tmp.BirthDate.ToString();
Label1 = (Label)e.Item.FindControl("Label5");
Label1.Text = tmp.Address;
}
}
public int currentPage
{
get { return Convert.ToInt32(Request.QueryString["page"]) == 0 ? 1 : Convert.ToInt32(Request.QueryString["page"]); }
}
<div>
<table>
<asp:Repeater ID="Repeater1" runat="server"
onitemdatabound="Repeater1_ItemDataBound">
<HeaderTemplate>
<thead>
<th>
FirstName
</th>
<th>
LastName
</th>
<th>
Title
</th>
<th>
BirthDate
</th>
<th>
Address
</th>
</thead>
</HeaderTemplate>
<ItemTemplate>
<tbody>
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</td>
<td>
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
</td>
<td>
<asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>
</td>
<td>
<asp:Label ID="Label4" runat="server" Text="Label"></asp:Label>
</td>
<td>
<asp:Label ID="Label5" runat="server" Text="Label"></asp:Label>
</td>
</tr>
</tbody>
</ItemTemplate>
</asp:Repeater>
</table>
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" FirstPageText="首页"
AlwaysShow="true"
LastPageText="尾页" NextPageText="下一页" PageIndexBoxType="TextBox"
PrevPageText="上一页" ShowBoxThreshold="5" ShowPageIndexBox="Auto"
SubmitButtonText="Go" TextAfterPageIndexBox="页"
TextBeforePageIndexBox="转到" onpagechanged="AspNetPager1_PageChanged"
UrlPaging="True" >
</webdiyer:AspNetPager>
</div>
2.后台代码
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
InitReapter();
}
}
private void InitReapter()
{
NorthwindEntities db = new NorthwindEntities();
int recordCount = db.Employees.ToList().Count;
AspNetPager1.RecordCount = recordCount;
AspNetPager1.PageSize = 2;
this.Repeater1.DataSource = db.Employees.ToList().Skip((currentPage - 1)*2).Take(2);
this.Repeater1.DataBind();
}
private void InitAspNetPager(int recordCount)
{
AspNetPager1.RecordCount = recordCount;
AspNetPager1.PageSize = 2;
}
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
Employees tmp = (Employees)e.Item.DataItem;
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Label Label1 = (Label)e.Item.FindControl("Label1");
Label1.Text = tmp.FirstName;
Label1 = (Label)e.Item.FindControl("Label2");
Label1.Text = tmp.LastName;
Label1 = (Label)e.Item.FindControl("Label3");
Label1.Text = tmp.Title;
Label1 = (Label)e.Item.FindControl("Label4");
Label1.Text = tmp.BirthDate.ToString();
Label1 = (Label)e.Item.FindControl("Label5");
Label1.Text = tmp.Address;
}
}
public int currentPage
{
get { return Convert.ToInt32(Request.QueryString["page"]) == 0 ? 1 : Convert.ToInt32(Request.QueryString["page"]); }
}
相关文章推荐
- 使用repeter进行数据绑定,使用aspnetpager进行分页
- 【VUE】使用Table组件进行数据双向绑定
- 使用AspNetPager绑定DataTable进行分页操作
- Repeater 实现分页、自行绑定数据,对Repeater 进行镶嵌使用
- PagedDataSource数据绑定控件和AspNetPager分页控件结合使用列表分页
- WP7 使用数据模板DataTemplate进行数据绑定
- SpringBoot开发详解(十) -- 使用JPA访问数据库下篇及使用Page进行数据分页
- 使用ajax局部刷新gridview进行数据绑定示例
- java使用多线程进行分页数据采集
- 【EntityFramework系列教程三,翻译】在ASP.NET MVC程序中使用EntityFramework对数据进行排序、过滤筛选以及实现分页
- ASP.NET中对DataList控件进行数据绑定并分页
- ASP.NET中对DataList控件进行数据绑定并分页
- 对数据进行分页,显示到table中
- 当使用Pagehelper进行分页时页数不在实际页数之内依旧有数据返回
- 使用存储过程进行数据分页
- ASP.NET使用ListView数据绑定控件和DataPager实现数据分页显示(二)
- 对数据进行分页显示到table中的实现方法
- 【翻译】使用Knockout, Web API 和 ASP.Net Web Forms 进行简单数据绑定
- vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
- 如何使用 DataBinder.Eval(Container.DataItem,"num","{0:p}") 对DataList 进行数据绑定