Repeater控件的分页问题
以前做ASP的时间不算短,可是做ASP.NET我是个新手。前几天做项目,遇到一个问题,要求比较复杂的数据格式显示,用DataGrid非常难实现,后来改用了Repeater控件来实现。不过这样就带来一个新问题:怎么分页?Repeater没有内置的分页功能。后来自己试着写了一个,侥幸成功了。匆匆写就,肯定不完善,哪位高手有何高见请及时指正,很愿意与各位交流(zhoubin@mail.sdu.edu.cn)
protected System.Web.UI.WebControls.Repeater rptFramework
private void Page_Load(object sender, System.EventArgs e)
{
//建立DataSet
(该部分省略)
rptFramework.DataSource = myDataSet;
rptFramework.DataBind();
Session["page"] = 1;
//将Repeater所有条目隐藏
int i = 0 ;
for( i = 0 ; i < rptFramework.Items.Count ; i++ )
{
rptFramework.Items[i].Visible = false;
}
//Repeater控件的页面大小
int intPageSize = 10;
//rptFramework控件的当前页索引(1起始)
int intCurrentPageIndex = 0 ;
if ( Request.QueryString["page"] == null || Convert.ToInt32( Request.QueryString["page"] ) == 0 )
{
Session["page"] = 1 ;
}
else
{
Session["page"] = Convert.ToInt32( Request.QueryString["page"] );
}
intCurrentPageIndex = Convert.ToInt32( Session["page"] );
//上一页按钮屏蔽
if ( Convert.ToInt32( Session["page"] ) == 1 )
{
btnPre.Enabled = false;
}
//rptFramework控件的当前游标索引(1起始)
int intCurrentItemIndex = 1 ;
intCurrentItemIndex = intPageSize * ( intCurrentPageIndex - 1 ) + 1 ;
//下一页按钮屏蔽
if ( (rptFramework.Items.Count - intCurrentItemIndex) < intPageSize )
{
btnNext.Enabled = false;
}
//设置窗体加载时的默认视图
if ( rptFramework.Items.Count > intPageSize )
{
for (i = intCurrentItemIndex ; i < GetMin( rptFramework.Items.Count , intCurrentItemIndex + intPageSize ) ; i++ )
{
rptFramework.Items[i-1].Visible = true;
}
}
}
//取两个数值中较小的值,但是不改变原数值大小
private int GetMin( int a , int b )
{
int c ;
if ( a > b )
{
c = b;
}
else
{
c = a;
}
return c;
}
//点击上一页按钮
private void btnPre_Click(object sender, System.EventArgs e)
{
int intPrePageIndex = 2;
if ( Convert.ToInt32( Session["page"] ) != 1 )
{
intPrePageIndex = Convert.ToInt32( Session["page"] ) - 1;
}
else
{
intPrePageIndex = 1;
}
Response.Redirect( "jggk.aspx?page=" + intPrePageIndex.ToString() );
}
//点击下一页按钮
private void btnNext_Click(object sender, System.EventArgs e)
{
int intNextPageIndex = Convert.ToInt32( Session["page"] ) + 1;
Response.Redirect( "jggk.aspx?page=" + intNextPageIndex.ToString() );
相关文章:
华为昇腾AI全栈知识深入解读,师资培训沙龙深圳场圆满落幕!
头图 | 视觉中国极度缺乏AI人才,已成为中国人工智能产业发展道路上的瓶颈。在国家政策的支持下,众高校初建AI专业者甚多,但高校教师应掌握哪些知识储备来传道授业,大家都是“摸着石头过河”。将高校AI人才培养教学大纲与厂商成熟落…

[转载] 信息系统项目管理师考试论文写作要点
来源:信管网 网址:http://www.cnitpm.com/pm/4323.html (1)在论文写作之前,先不要急着动笔,认真把题看清楚,选择自己熟悉的论文(考试时,一般是二选一)&#x…

POM.xml 标签详解
pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他…

DataRow的序列化问题
来源:CSDN 作者:kroll 在.net里,DataRow类型的对象是不支持序列化的,那么如果在一个需要序列化的对象中含有DataRow类型的字段该怎么办呢?呵呵,幸好Datatable是支持序列化的。因此,我们可以自定…

mass Framework event模块 v4
event.js // // 事件模块(包括伪事件对象,事件绑定与事件代理) // $.define("event",document.dispatchEvent ? "node" : "node,event_fix",function(){// $.log("已加载target模块")var rhoverH…
美国 AI 博士:什么都不会怎么学 Python?
我见过市面上很多的 Python 讲解教程和书籍,他们大都这样讲 Python 的:先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, tuple 等数据结构,然后再介绍字符串处理和正则表达式࿰…

puppet 初识
【puppet初识】学习目录 领导说saltstack太慢 机器量一旦上来,saltstack就力不从心,所以要将saltstack转向puppet。【安装背景】系统centos 6.5软件地址:http://downloads.puppetlabs.com/puppet/master: 192.168.100.10agent: 192.168.100.13因为puppe…

ColorMatrix 彩色矩阵
选择自 hbzxf 的 Blog 首先对装配脑袋给出上两片文章的友好回复,还有网友Fisherman一起探讨ColorMatrix话题表示感谢!ColorMatrix (彩色矩阵) 类位于System.Drawing.Imaging命名空间 先看看下面的代码 ColorMatrix cm newColorMatrix(newfloat[][]{ n…
一个参数一张Excel表,玩转Pandas的read_excel()表格读取
作者 | 黄伟呢来源 | 数据分析与统计学之美我觉得很有必要讲述这个文章,进行数据处理的第一步就是Python数据读取。但是你可能没想到,在进行数据读取的同时,我们其实可以配合相关参数做很多事儿,这对于后续的数据处理都是极其有帮…

Android 设计模式:(三)装饰者模式 —— 装饰对象
*利用组合(composition)和委托(delegation)可以在运行时实现继承行为的效果,动态地给对象加上新的行为。*利用继承扩展子类的行为,是在编译时静态决定的;利用组合的做法,可以在运行时…

润乾报表永久授权说明
永久授权是什么? 永久授权是运行润乾报表的带有机器特征码的没有时间限制的正式授权文件 2 机器特征码是什么? 机器特征码是为了制作永久授权,由润乾公司提供程序从用户的服务器上获取硬件和操作系统信息,生成的一个数字串&#x…
维度爆炸?Python实现数据压缩如此简单
作者 | 萝卜来源 | 早起Python(ID: zaoqi-python)用Python基于主成分分析常见的三个应用场景中,其中有一个是「数据描述」,以描述产品情况为例,比如著名的波士顿矩阵,子公司业务发展状况,区域投…

深入剖析C#的多态
作者: 天雨一、什么是多态 面向对象程序设计中的另外一个重要概念是多态性。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。可以把一组对象放到一个数组中,然后调用它们的方法,在这种场合下,多态性作用…

/usr/local/lib/libz.a: could not read symbols: Bad value(64 位 Linux)
/usr/bin/ld: /usr/local/lib/libz.a(crc32.o): relocation R_X86_64_32 against a local symbol can not be used when making a shared object; recompile with -fPIC /usr/local/lib/libz.a: could not read symbols: Bad value 一般是64 位 电脑才会出现。 解决方法如下&am…

关于BIO | NIO | AIO的讨论
关于BIO | NIO | AIO的讨论一直存在,有时候也很容易让人混淆,就我的理解,给出一个解释: BIO | NIO | AIO,本身的描述都是在Java语言的基础上的。而描述IO,我们需要从两个层面: 编程语言实现原理…

NYOJ-49 开心的小明
开心的小明 时间限制:1000 ms | 内存限制:65535 KB难度:4描述小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间…

两个硬盘和文件相关的小技巧 (C#)
取系统的硬盘分区的盘符,用API函数:GetDriveType [DllImport("kernel32.dll", EntryPoint"GetDriveType")] public static extern int GetDriveType (string nDrive); 调用:string [] dirs Environment.GetLogicalDri…
从数百个Excel中查找数据,一分钟用Python搞定
作者 | 陈熹来源 | 早起Python今天分享一个真实的办公自动化需求,大家一定要仔细阅读需求说明,在理解需求之后即可体会Python的强大。需求说明首先我们来看下今天的需求,有一份档案记录总表的Excel工作簿, 每天会根据当天日期建立…

namenode如何存储复本?
2019独角兽企业重金招聘Python工程师标准>>> namenode如何选择在哪个datanode存储复本?这里需要对可靠性,写入带宽和读取带宽进行权衡。例如,把所有复本都存储在一个节点损失的写入带宽最小,因为复制管线都是在同一节点…

EBS-使用 fnd_user_pkg API 创建用户,添加职责,修改用户
比如有一个外围支持系统,用户需要在外围系统登录之后点个link就可以登录到Oracle ERP系统中,那么我们需要先把外围系统的用户创建在Oracle ERP中,并且分配职责给他。 DECLARE a BOOLEAN; BEGIN---------------------------------------------…
万字长文总结机器学习的模型评估与调参 | 附代码下载
作者 | Sebastian Raschka翻译&整理 | Sam来源 | SAMshare目录一、认识管道流1.1 数据导入1.2 使用管道创建工作流二、K折交叉验证2.1 K折交叉验证原理2.2 K折交叉验证实现三、曲线调参3.1 模型准确度3.2 绘制学习曲线得到样本数与准确率的关系3.3 绘制验证曲线得到超参和准…

[百万级]通用存储过程.分页存储过程
/* 名称:spAll_ReturnRows 输入: 输出: 调用: EXEC spAll_ReturnRows SELECT * FROM 表名, 页号, 返回记录数, 主键, 排序字段 spAll_ReturnRows SELECT * FROM all_Categories,2,10,[ID],[ID] 说明:[百万级]通用存储过程.分页存储过程..返回指定返回条数、指定页数的记录 …

Unsupported major.minor version (jdk版本错误)解决方案
2019独角兽企业重金招聘Python工程师标准>>> 如果你遇到了 Unsupported major.minor version ,请认真看一下,说不定会有帮助。 我花两个小时总结的经验,你可能10分钟就得到了。 ^**^ 一、错误现象: 当改变了jdk版本时…

The key of C# 学习笔记I-II
作者 :Kemins booootLog http://blog.csdn.net/keminlau/ Sunday, October 3, 2004 微软提出的CLS(Common Language Specification, 通用语言标准)对能被用来编写dotNET程序的语言的最小功能集做出了规定。 就拿C#来说,它是目前程序设计语言“以效率换安…

分布式平台下的HS(High-Security) --Apache Shiro API(介绍)
在尝试保护你的应用时,你是否有过挫败感?是否觉得现有的Java安全解决方案难以使用,只会让你更糊涂?本文介绍的Apache Shiro,是一个不同寻常的Java安全框架,为保护应用提供了简单而强大的方法。本文还解释了Apache Shiro的项目目…
豪赌 ARM 梦碎:63 岁孙正义的「花甲历险记」
来源 | HyperAI超神经这几天,传出 NVIDIA 将以 400 亿 英镑的价格收购 ARM 的消息,不少媒体在争相报道收购进度的同时,也将整起交易的幕后推手 —— 孙正义,放到了聚光灯下。软银 CEO,传奇投资人,冒险家&am…

Java 集合 — HashMap
HashMap 无序(每次resize的时候都会变)非线程安全key和value都看可以为null使用数组和链表实现查找元素的时候速度快几个重要属性: loadFactor:用来计算thresholdthreshold:决定map是否需要扩容,threshold …
赠书 | 人工智能识万物:卷积神经网络的前世今生
来源 |《Python人工智能开发从入门到精通》作者 | 杨柳、郭坦、鲁银芝责编 | 晋兆雨深度学习在技术与应用上的突破引发了第三次人工智能浪潮,获得了空前成功。在前述章节的基础上,本章将主要介绍训练卷积神经网络和深度神经网络的重要方法与技巧…

通过WMI获得硬盘和CPU的物理序列号(VB.net)
作者:iwebsms获得硬盘序列号Dim cmicWmi As New System.Management.ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive")Dim Uint32 As UInt32For Each cmicWmiObj As ManagementObject In cmicWmi.GetUint32 cmicWmiObj("signature")…

[转] Zend studio中开发常用
转载自: http://www.cnblogs.com/iphper/archive/2012/03/21/2409397.html 、快捷键设置 在zendstudio中开发的过程中,我们应专注与代码的逻辑中,而不是把一大半的时间都浪费在编辑器的操作以及鼠标的点击中,经常使用快捷键进行操作会达到事半…