`
yangzhiyong77
  • 浏览: 967684 次
文章分类
社区版块
存档分类
最新评论

操作datatable进行分页,绑定repeqter或者gridView

 
阅读更多

今天上午研究一个多小时了终于出来了。

前台页面

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table class="tz_table" border="0" cellpadding="0" cellspacing="0" width="100%">
<thead>
<tr>
<td>标题</td>
<td>创建人</td>
<td>到期日期</td>
<td>未读</td>
</tr>
</thead>
<tbody>
<asp:Repeater ID="rptNotice" runat="server">
<ItemTemplate>
<tr>
<td>
<asp:LinkButton ID="LinkButton1" Text='<%# Eval("Title") %>' runat="server"></asp:LinkButton>
</td>
<td>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Expires") %>'></asp:Label>
</td>
<td>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("Author") %>'></asp:Label>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</tbody>
</table>
<%-- <asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AutoGenerateColumns="False" PageSize="5">
<Columns>
<asp:TemplateField HeaderText="标题">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" Text='<%# Eval("Title") %>' runat="server"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="时间">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Expires") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="提问人">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("Author") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>--%>
<br />
<asp:Button ID="Button1" runat="server" Text="上一页" onclick="Button1_Click" />
<asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="下一页" />
</div>
</form>
</body>
</html>

然后后台绑定

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

namespace LswTest
{
public partial class GrideView : System.Web.UI.Page
{
static int pageIndex = 1;
protected void Page_Load(object sender, EventArgs e)
{
//页面首次加载
if (!IsPostBack)
{
rptNotice.DataSource = GetPagedTable(getTable(), pageIndex, 5);
rptNotice.DataBind();
}
}
//上一页
protected void Button1_Click(object sender, EventArgs e)
{
if (pageIndex < 1)
{
pageIndex = 1;
}
else
{
pageIndex -= 1;
}
rptNotice.DataSource = GetPagedTable(getTable(), pageIndex, 5);
rptNotice.DataBind();
}
//下一页
protected void Button2_Click(object sender, EventArgs e)
{
if (pageIndex > 3)
{
pageIndex = 3;
}
else
{
pageIndex += 1;

}
rptNotice.DataSource = GetPagedTable(getTable(), pageIndex, 5);
rptNotice.DataBind();
}
//获取加载时的table
public DataTable getTable() {
DataTable dt = new DataTable();
//dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Title", typeof(string));//标题
dt.Columns.Add("Author", typeof(string));//创建者
dt.Columns.Add("Expires", typeof(DateTime));//到期日期

DataRow dr;
for (int i = 0; i < 15; i++)
{
dr = dt.NewRow();
dr["Title"] = "第" + i + "条数据";
dr["Author"] = "user00" + i;
dr["Expires"] = DateTime.Now.ToString();
dt.Rows.Add(dr);
}
return dt;
}
//操作上一页下一页的table
public DataTable GetPagedTable(DataTable dt, int PageIndex, int PageSize)
{
if (PageIndex == 0)
return dt;
DataTable newdt = dt.Copy();
newdt.Clear();

int rowbegin = (PageIndex - 1) * PageSize;
int rowend = PageIndex * PageSize;

if (rowbegin >= dt.Rows.Count)
return newdt;

if (rowend > dt.Rows.Count)
rowend = dt.Rows.Count;
for (int i = rowbegin; i <= rowend - 1; i++)
{
DataRow newdr = newdt.NewRow();
DataRow dr = dt.Rows[i];
foreach (DataColumn column in dt.Columns)
{
newdr[column.ColumnName] = dr[column.ColumnName];
}
newdt.Rows.Add(newdr);
}

return newdt;
}
}
}

后台页面的dataTable中数据是我自己模拟的数据,也可以从数据库中查询出来放到dataTable中,然后再对datatable进行操作!

分享到:
评论

相关推荐

    第7章 数据绑定控件

    实例232 分页绑定DataList数据并实现页面 跳转功能 365 实例233 开发针对DataList控件分页功能的 用户控件 368 实例234 使用DataList删除数据(支持批量 删除) 370 实例235 利用DataList控件智能化查看详细 信息 ...

    AspxGridView使用手记

    1.使用DataSource属性绑定DataTable 5 2.使用DataSourceID属性绑定SqlDataSource 6 3.使用DataSourceID属性绑定ObjectDataSource 6 4.使用DataSourceID属性绑定LinqDataSource 9 5.使用DataSourceID属性绑定...

    分页控件(自定义分页控件)

    该分页控件可以接受datatable和一条sql语句。该控件绑定datatable或sql语句后,就无需将gridview绑定数据源,也可以自定义页面pagesize。

    Asp.net 分页控件(好用)

    自己写的分页控件,返回DataTable,资源里有例子程序,可以绑定DataList,GridView,Repeater等。 动态库为gfPager,在项目中加载Dll后,就可以应用了

    ASP.NET高级编程:校园BBS里的数据绑定.pptx

    ASP.NET对具有 DataBinding 事件的对象(如GridView、DataList、Repeater控件)提供数据绑定表达式支持。 Eval()方法用于单向绑定,一般用于显示数据,被绑定的数据不能被更新; Bind()方法用于双向绑定,支持

    gridview扩展

    控件使用 1、鼠标经过行的时候改变该行的样式,鼠标离开行的时候恢复该行的样式 使用方法(设置属性): MouseOverCssClass - 鼠标经过行时行的 CSS 类名 &lt;br&gt;2、对多个字段进行复合排序;升序、降序的...

    AspxGridView详细使用手记_全(Word文档)

    1.使用DataSource属性绑定DataTable 5 2.使用DataSourceID属性绑定SqlDataSource 6 3.使用DataSourceID属性绑定ObjectDataSource 6 4.使用DataSourceID属性绑定LinqDataSource 9 5.使用DataSourceID属性绑定...

    基于Asp.Net的自定义分页控件

    1、本控件为本人开发的基于Asp.net的分页控件,版权归...4、控件支持DataTable数据源和List泛型类数据源绑定。 5、每页显示的数量以及显示的页码数量和样式用户可以完全自定义。 6、页面使用方法参见:Help.txt文档。

    Asp.net 高级编程学习经验

    9.在Gridview中对数据进行排序 10.关于如何处理Checkboxlist的方法 11.在Gridview中使用DropDownLIst的问题。 12.鼠标移动变色 13.关于在Gridview中的单元格中实现用“...”代替超长字符串 14.数据控件中数据强制...

    Asp.net中使用PageDataSource分页实现代码

    封装数据绑定控件(如 System.Web.UI.WebControls.DataGrid、System.Web.UI.WebControls.GridView、System.Web.UI.WebControls.DetailsView // 和 System.Web.UI.WebControls.FormView)的与分页相关的属性,以...

    ASP.NET 2.0+SQL Server 2005全程指南-源代码

    9.1.5 使用GridView控件分页显示数据 9.1.6 对GridView控件中的数据进行排序 9.2 其他数据控件的应用 9.2.1 使用Repeater控件显示数据 9.2.2 在Repeater控件中分页显示数据 9.2.3 使用DetailsView控件操作一条...

    ASP.NET.4揭秘

    14.2.2 使用datapager控件进行数据源分页526 14.3 小结527 第15章 使用chart控件528 15.1 chart控件的基础知识528 15.1.1 使用chart控件显示数据528 15.1.2 排序和过滤数据532 15.1.3 统计公式534 15.2 定制图表的...

    ASP.NET 控件的使用

    14.2.2 使用DataPager控件进行数据源分页 459 14.3 小结 461 第四部分 创建组件 第15章 创建组件 464 15.1 创建基本组件 464 15.1.1 组件和动态编译 466 15.1.2 App_Code文件夹中不同语言的组件 466 15.1.3 声明...

    零基础学ASP.NET 2.0电子书&源代码绝对完整版1

    3-22.cs get和set对属性的值进行读写操作。 3-23.cs 方法的使用。 3-24.cs 继承演示。 3-25.cs 多态性演示。 第4 章(\Chapter 04) 示例描述:本章学习ASP.NET 2.0页面基本对象。 4-01.aspx aspx...

    一个ViewGrid控件

    2、对多个字段进行复合排序;升序、降序的排序状态提示 使用方法(设置SmartSorting复合属性): AllowSortTip - 是否启用排序提示 AllowMultiSorting - 是否启用复合排序 SortAscImageUrl - 升序提示图片的URL...

    C#编程经验技巧宝典

    4 &lt;br&gt;0008 为程序设置版本和帮助信息 4 &lt;br&gt;0009 设置Windows应用程序启动窗体 5 &lt;br&gt;0010 设置Web应用程序起始页 5 &lt;br&gt;0011 如何设置程序的出错窗口 5 &lt;br&gt;0012 如何进行程序调试 6 ...

    ASP.NET3.5从入门到精通

    7.9.2 DataTable 数据表对象 7.9.3 DataRow 数据行对象 7.9.4 DataView 数据视图对象 7.10 DataReader 数据访问对象 7.10.1 DataReader 对象概述 7.10.2 DataReader 读取数据库 7.10.3 异常处理 7.11 连接池概述 ...

    ASP.NET 3.5 开发大全11-15

    7.9.2 DataTable数据表对象 7.9.3 DataRow数据行对象 7.9.4 DataView数据视图对象 7.10 DataReader数据访问对象 7.10.1 DataReader对象概述 7.10.2 DataReader读取数据库 7.10.3 异常处理 7.11 连接池概述 7.12 参数...

Global site tag (gtag.js) - Google Analytics