使用DataList 分页方法
什么是DataList我想应该不需要解释了,接下来分享本人在项目里使用到的通过DataList进行分页展示方法。
首先在ASPX页面添加一个DataList(后面都简称DL)控件,示例代码如下:
<asp:DataList ID="DL_BadReason" runat="server" Width="100%"
////////////////////中间嵌套你需要展示出来的数据和方法的ID////////
</asp:DataList>
此例中展示的风格是通过下拉列表来进行分页跳转(当然,这样做是无法和高大上的Ajax来进行分页来的给力,后面有时间虾哥将会再写一个AJAX分页DEMO分享给码友们)
在前台页面再添加一个DropList控件来绑定页数,以便进行分页跳转,示例代码如下:
<asp:DropDownList ID="YourName" runat="server" AutoPostBack="true" OnSelectedIndexChanged="YourName">
</asp:DropDownList>
前台搞定!接下来就是后台代码实现了,代码逻辑很简单,这里就不多注释太多了。示例代码如下:
if (dtBadReason.Rows.Count > ) //这里的dtBadReason是你从数据库查询出来的数据源
{
try
{
//DL:DataList this.DL.DataSource = dvBadReason;
DL.DataBind();
DL.HorizontalAlign = HorizontalAlign.Center; //使用PageDataSource
PagedDataSource PgB = new PagedDataSource();
PgB.DataSource = dvBadReason;
//设定条数
PgB.PageSize = ;
PgB.AllowPaging = true; //分页设定
int CurrentPage = Get_CurrentPage();
PgB.CurrentPageIndex = CurrentPage - ;
lbPage.Text = String.Format("{2} {0} {4} , {3} {1} {4}"
, CurrentPage.ToString()
, PgB.PageCount.ToString()
, "第"
, "共"
, "页"); DL_BadReason.DataSource = PgB;
DL_BadReason.DataBind(); ddlPage.Items.Clear();
ddlPage.Items.Add("请跳页");
ListItem oItm = new ListItem();
for (int i = ; i < PgB.PageCount; i++)
{
int iPage = i + ;
oItm.Text = String.Format("{1}{0}{2}", iPage.ToString(), "第", "页");
oItm.Value = iPage.ToString();
ddlPage.Items.Add(new ListItem(oItm.Text.Trim(), oItm.Value));
} }
catch (Exception ex)
{
Response.Write("<b>Error Message-- </b>" + ex.Message.ToString());
}
}
虽然这种分页方法远没有我们自己手写个存储过程再结合AJAX来进行分页爽,而且性能不高,用户体验效果也不理想。但这恰恰却适用于一些只需要用来展示数据的项目。当然,这比Repter好多了!
最终分页效果如下:

使用DataList 分页方法的更多相关文章
- DataList分页访问FooterTemplate模板里的控件
今天做DataList分页的时候,突然想把分页控件写在FooterTemplate模板里面,弄了很久都访问不到控件,终于发现问题所在,以下是访问FooterTemplate里控件的方法: <Fo ...
- Oracle、SQL Server、MySQL分页方法
测试用例:查询TEST_TABLE表中TEST_COLUMN列的第10-20条数据 1,Oracle分页方法 SELECT A.* FROM ( SELECT ROWNUM ROWNO, B.* FR ...
- Sql Server 2012 的新分页方法分析(offset and fetch) - 转载
最近在分析 Sql Server 2012 中 offset and fetch 的新特性,发现 offset and fetch 无论语法的简洁还是功能的强大,都是相当相当不错的 其中 offset ...
- phalcon几种分页方法
phalcon几种分页方法 一: use Phalcon\Paginator\Adapter\Model as PaginatorModel; // Current page to show // I ...
- 只是一个用EF写的一个简单的分页方法而已
只是一个用EF写的一个简单的分页方法而已 慢慢的写吧.比如,第一步,先把所有数据查询出来吧. //第一步. public IQueryable<UserInfo> LoadPagesFor ...
- SharePoint2013 SharePoint-Hosted 模式 分页方法
/**分页js插件 var ListPager = new listPaging(); 先调用start方法加载上下文 然后调用dataLoad方法查询第一页数据 需要设置几个属性值 ListPage ...
- C#针对DataTable进行分页方法
以下的分页方法是针对数据量不是非常大的数据进行的,是在内存中进行的分页操作. /// <summary> /// DataTable分页 /// </summary> /// ...
- SQL SERVER 分页方法
最近项目中需要在SQL SERVER中进行分页,需要编写分页查询语句.之前也写过一些关于分页查询的语句,但是性能不敢恭维.于是在业务时间,在微软社区Bing了一篇老外写的关于SQL SERVER分页的 ...
- sql server两种分页方法
方法一: --分页方法一 OrderID,CustomerID, EmployeeID,OrderDate,ShippedDate,ShipName,ShipAddress,Freight from ...
随机推荐
- sql server 2005+ 翻页
select * from ( select row_number() over (order by dm) row,* from t_zycp where dm like '%4%' ) tmp
- Google protobuf的安装及使用
最近应为工作的需要,合作的部门提供了protobuf的接口,总结了一下使用的过程和方法如下: 下载protobuf-2.3.0: http://protobuf.googlecode.com/file ...
- centos 6.4 大容量磁盘分区步骤
首先安装分区工具 yum install parted 假设需要分区的设备为/dev/sdb 运行如下命令 parted /dev/sdb (parted) mklabel gpt #大于2TB的磁盘 ...
- Centos系统创建用户oracle后,用该用户登陆系统,页面加载报错GConf error
Linux 的 GConf error 解决办法 问题: Centos系统创建用户oracle后,用该用户登陆系统,页面加载报错,导致重新进入Centos系统后出现: GConf error:Fail ...
- suse系统FTP问题
1.修改FTP端口问题 在 这个配置文件中vi /etc/vsftpd.conf 添加 Listen_port=34 vi /etc/services ftp 21/tcp # F ...
- List迭代循环时出现分问题
一个List,通过迭代之后给List中的实体重新赋值,代码如下 public List getListByPage(Page currPage) { Map recordTypeMap = BusnD ...
- UILable自适应frame
UILabel *textlab = [[UILabel alloc]initWithFrame:CGRectMake(20, 10,ScrollView.frame.size.width - 40, ...
- HDU 1159 Common Subsequence 公共子序列 DP 水题重温
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159 Common Subsequence Time Limit: 2000/1000 MS (Jav ...
- Linux内核是如何创建一个新进程的?
进程描述 进程描述符(task_struct) 用来描述进程的数据结构,可以理解为进程的属性.比如进程的状态.进程的标识(PID)等,都被封装在了进程描述符这个数据结构中,该数据结构被定义为task_ ...
- Java反射_JDBC操作数据
</pre><p>使用反射 来操作 这里是练习反射的使用</p><p>链接数据库工具类</p><p><pre name= ...