- 浏览: 1653099 次
- 性别:
- 来自: 福州
文章分类
- 全部博客 (583)
- strust2.0 (14)
- hibernate2.0 (5)
- java (13)
- javaScript (59)
- AJAX (8)
- TFS (6)
- 其它 (20)
- CSS (23)
- asp (18)
- Dojo (5)
- 项目管理 (3)
- SQLServer (25)
- oracle (26)
- .NET (221)
- 开源系统 (6)
- 常识 (41)
- 软件架构 (1)
- My SQL (1)
- SilverLight (10)
- Flex (1)
- window7 (1)
- 网络安全 (2)
- CMS (1)
- ECShop (4)
- 邮件系统 (9)
- Linq (0)
- 淘宝店铺经营宝典 (0)
- flash插件 (1)
- Hubble.net全文检索 (1)
- 在线编辑器 (1)
- 正则表达式 (1)
- 创业 (1)
- asp.net mvc (1)
- 全文检索 (0)
- 全文检索 HubbleDotNet (1)
- Android (27)
- TFS bin (1)
最新评论
-
z小小Jean:
有具体的解决方法吗
用命名imp导入DMP时报无法解析指定的连接标识符的解决办法 -
njoiop:
这些都是常用接口,IP地址、手机归属和身份证查询接口,基站定位 ...
IP地址、手机归属和身份证查询接口 -
Fs_sky:
那导出DMP如何包含序列等其他东西?
在plsql中如何导出dmp文件 -
qiywtc:
请问该怎么判断视频的格式再选择对应的播放格式来播放啊?
asp.net各种类型视频播放代码(全) -
xinghenhouzi:
楼主说的版本不同无法导入导出是什么意思?我用10g的exp.e ...
在plsql中如何导出dmp文件
在.NET平台下处理显示数据时,需要经常使用GridView控件进行分页,虽然它本身提供了分页机制,但总的说来其分页效果较为单调,大部分情况下无法满足客户的需求(也只能让开发人员YY一下而已)。与此同时,GridView提供了多种扩展机制,用户可以在此基础上自行扩展分页功能。现在就对其分页进行相应的扩展
首先,对GridView控件添加一个PagerTemplate,其HTML代码如下所示。
添加的三个Label(lblPageCurrent,lblPageCount,lblPageRow)控件分别用来显示当前页、总页数及总记录数。添加的四个LinkButton控件用来导航。控件准备好之后,就开始写代码,首先需要完成GridView控件的OnDataBound事件(GridView_DataBind),再次需要完成LinkButton的Command事件(NavigateToPage)这一步主要用来导航。其具体代码如下所示。
OK,现在就可以使用我们自定义的分页了,目前网络上使用的分页大部分都是这种样子,因此在进行样式设计时,就直接按照这种模式设计了。其中在控制外观时,使用了一个样式表,其具体代码如下所示。
导航按钮我使用了LinkButton控件,也可以使用ImageButton控件,这样就可以使用自己绘制的图片作为当航提示,从而避免只有文字的光秃效果。
另外,我在计算记录的总数目时,使用的是rowCount = ds.Tables["Books"].Rows.Count这种方法,我一直在想GridView控件应该也能够提供一种获取总记录的方法,只可惜在我写这篇文章时,一直没有发现。那位高手懂得,还望赐教~~~~~~~~~~~~~~~~。Rayshow在此谢过...
转自:http://hi.baidu.com/rayshow/blog/item/aa10248ba5ef8b10c9fc7a67.html
首先,对GridView控件添加一个PagerTemplate,其HTML代码如下所示。
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" PageSize="5" OnDataBound = "GridView_DataBind" CellPadding=2 CellSpacing=0> <PagerTemplate> <div id="main"> <div id="info"> 页次:<asp:Label ID="lblPageCurrent" runat="server" Text="1" CssClass="txtInfo"></asp:Label> /<asp:Label ID="lblPageCount" runat="server" Text="1"></asp:Label> 共 <asp:Label ID="lblPageRow" runat="server" Text="1" CssClass="txtInfo"></asp:Label> 条记录 </div> <div id="page"> <asp:LinkButton ID="btnFirst" runat="server" CssClass="link" CommandName="Pager" CommandArgument="First" OnCommand="NavigateToPage">[首页]</asp:LinkButton> <asp:LinkButton ID="btnPrev" runat="server" CssClass="link" CommandName="Pager" CommandArgument="Prev" OnCommand ="NavigateToPage">[前一页]</asp:LinkButton> <asp:LinkButton ID="btnNext" runat="server" CssClass="link" CommandName="Pager" CommandArgument="Next" OnCommand="NavigateToPage">[下一页]</asp:LinkButton> <asp:LinkButton ID="btnLast" runat="server" CssClass="link" CommandName="Pager" CommandArgument="Last" OnCommand="NavigateToPage">[尾页]</asp:LinkButton> </div> </div> </PagerTemplate> <RowStyle BackColor="#F9F9F9" /> <HeaderStyle BackColor="#EDF7E7" Font-Bold="true" /> <AlternatingRowStyle BackColor="White" /> </asp:GridView>
添加的三个Label(lblPageCurrent,lblPageCount,lblPageRow)控件分别用来显示当前页、总页数及总记录数。添加的四个LinkButton控件用来导航。控件准备好之后,就开始写代码,首先需要完成GridView控件的OnDataBound事件(GridView_DataBind),再次需要完成LinkButton的Command事件(NavigateToPage)这一步主要用来导航。其具体代码如下所示。
public partial class Default : System.Web.UI.Page { int rowCount = 0;//用来记录总记录数 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) GridViewFill(); } private void GridViewFill() { string strConn = "server=localhost\\sqlexpress;database=MyComics;Integrated Security=True"; SqlConnection conn = new SqlConnection(strConn); DataSet ds = new DataSet(); string strSql = "SELECT * FROM Books"; SqlDataAdapter DA = new SqlDataAdapter(strSql, conn); DA.Fill(ds, "Books"); rowCount = ds.Tables["Books"].Rows.Count; //取得总记录数目 this.GridView1.DataSource = ds.Tables["Books"]; this.GridView1.DataBind(); } protected void NavigateToPage(object sender, CommandEventArgs e) { //控制转页 switch (e.CommandArgument.ToString()) { case "First": this.GridView1.PageIndex = 0; break; case "Prev": if (this.GridView1.PageIndex > 0) this.GridView1.PageIndex -= 1; break; case "Next": if (this.GridView1.PageIndex < (this.GridView1.PageCount - 1)) this.GridView1.PageIndex += 1; break; case "Last": this.GridView1.PageIndex = this.GridView1.PageCount - 1; break; } GridViewFill(); } protected void GridView_DataBind(object sender, EventArgs e) { GridViewRow pagerRow = GridView1.BottomPagerRow; //获取Label实例,显示页次信息 Label lblCurrent = (Label)pagerRow.Cells[0].FindControl("lblPageCurrent"); Label lblCount = (Label)pagerRow.Cells[0].FindControl("lblPageCount"); Label lblRow = (Label)pagerRow.Cells[0].FindControl("lblPageRow"); //获取按钮实例,为了控制其是否可用 LinkButton btnFirstTem = (LinkButton)pagerRow.Cells[0].FindControl("btnFirst"); LinkButton btnPrevTem = (LinkButton)pagerRow.Cells[0].FindControl("btnPrev"); LinkButton btnNextTem = (LinkButton)pagerRow.Cells[0].FindControl("btnNext"); LinkButton btnLastTem = (LinkButton)pagerRow.Cells[0].FindControl("btnLast"); if (lblCurrent != null) lblCurrent.Text = (this.GridView1.PageIndex + 1).ToString(); if (lblCount != null) lblCount.Text = this.GridView1.PageCount.ToString(); if (lblRow != null) lblRow.Text = rowCount.ToString(); if (this.GridView1.PageIndex == 0) { btnFirstTem.Enabled = false; btnPrevTem.Enabled = false; //只有一页,所有分页按钮不可用 if (this.GridView1.PageCount == 1) { btnNextTem.Enabled = false; btnLastTem.Enabled = false; } } else if (this.GridView1.PageIndex == (this.GridView1.PageCount - 1)) { btnNextTem.Enabled = false; btnLastTem.Enabled = false; } } }
OK,现在就可以使用我们自定义的分页了,目前网络上使用的分页大部分都是这种样子,因此在进行样式设计时,就直接按照这种模式设计了。其中在控制外观时,使用了一个样式表,其具体代码如下所示。
body { font-size:9pt; } #main { background-color:#EDF7E7; line-height:30px; width:100%; text-align:left; } #info { width: 40%; font-family: Verdana; float:left; text-align:left; } #page { width:60%; float:left; overflow:auto; text-align:right; } .txtInfo { color:#e78a29; } .link { text-decoration:none; color:#474747; }
导航按钮我使用了LinkButton控件,也可以使用ImageButton控件,这样就可以使用自己绘制的图片作为当航提示,从而避免只有文字的光秃效果。
另外,我在计算记录的总数目时,使用的是rowCount = ds.Tables["Books"].Rows.Count这种方法,我一直在想GridView控件应该也能够提供一种获取总记录的方法,只可惜在我写这篇文章时,一直没有发现。那位高手懂得,还望赐教~~~~~~~~~~~~~~~~。Rayshow在此谢过...
转自:http://hi.baidu.com/rayshow/blog/item/aa10248ba5ef8b10c9fc7a67.html
发表评论
-
【转】C#定时执行某个程序
2015-03-16 17:33 733using System; using System. ... -
多行文本框字符数长度验证的解决方案
2012-03-02 16:04 1203在ASP.NET系统中经常会遇到验证文本框长度,比如数据库里是 ... -
【转】asp.net(c#)通过两个点的经纬度计算距离
2012-01-12 14:14 1383原理: 地球赤道上环绕地球一周走一圈共40075.04公里 ... -
【转】GSM手机短信软件的实现(C#)
2011-11-30 13:55 1312http://www.cnblogs.com/Engin/ar ... -
[转]C#开发短信收发软件的原理
2011-11-16 16:44 1651坛子里好像很多人对如何自己用C#开发手机短信有兴趣,正好我也做 ... -
TCPClient 类实现网络互联、通信
2011-10-29 11:16 2943TcpClient 为 TCP 网络服务提供客户端连接。 S ... -
Hubble.Net实现全文检索
2011-07-25 19:30 4037一、 下载安装 到Hubble.net 项目首页 http: ... -
c# 获取当前周第一天、最后一天,当前月第一天、最后一天的实现代码
2011-04-17 18:39 5293获取当前周工作日第一天、最后一天 int dayOfWee ... -
c#通过调用7z.exe实现解压文件
2011-03-05 15:47 48067-Zip 简介 7-Zip 是一款号称有着现今最高压缩比的 ... -
【转】IEnumerable 和 IEnumerator 接口
2011-03-04 17:12 2028类继承关系:public interface IQueryab ... -
【转】C#获取文件的绝对路径
2011-03-04 17:08 2484要在c#中获取路径有好多方法,一般常用的有以下五种: ... -
ListBox之间的数据项的移动操作
2010-09-29 11:04 1559<%@ Page Language="C# ... -
【转】asp.net中URL参数传值中文乱码的三种解决办法
2010-09-21 22:31 3420在做Asp.Net开发的时候,经常会遇到页面乱码的问题,下面是 ... -
【转】ASP.NET文件下载函数
2010-09-21 22:29 1407在你的Page_Load中添加这样的代码: Page.Re ... -
【转】在ASP.NET中实现多文件上传
2010-09-21 22:25 1240在以前的Web应用中,上传文件是个很麻烦的事,现在有了.NET ... -
[转]ASP.NET中常用的文件上传下载方法
2010-09-21 22:23 1817文件的上传下载是我们在实际项目开发过程中经常需要用到的技 ... -
HTML文章中截取摘要的问题[转]
2010-06-09 10:46 1877博客系统通常的做法是,在博客的首页只显示文章的摘要,点击标题进 ... -
获取 asp:Button 控件的的ComandName值的方法
2010-05-22 17:31 1254protected void btn_Save_Click ... -
ASP.NET防止用户多次登录的方法
2010-05-06 12:34 1580常见的处理方法是,在 ... -
使用 Enter 键提交表单
2010-04-27 14:04 1337一、使用 JS 代码 我们在表单里面的 TextBox (as ...
相关推荐
本教程将深入探讨如何实现“最简单的GridView自定义分页”。 一、GridView控件简介 GridView控件是ASP.NET Web Forms中的一员,它允许开发者以表格的形式展示数据源中的数据,如数据库查询结果。默认情况下,...
提供的"GridView自定义分页及可拖动改变列宽源码"应该包含以下部分: - 后台代码(C#或VB.NET):包含自定义分页逻辑,可能包括数据库查询和事件处理程序。 - 前端代码(ASPX或ASCX):定义GridView控件,分页...
GridView自定义分页及可拖动改变列宽代码 GridView自定义分页及可拖动改变列宽代码 GridView自定义分页及可拖动改变列宽代码 GridView自定义分页及可拖动改变列宽代码 GridView自定义分页及可拖动改变列宽代码 ...
找了三天才找到合适会用的gridview自定义分页功能,之前找了n多种方法,没一个能用的,直到现在这个才真正的在自己的网页上用上。现在上传上来给有需要的朋友一个方便,2分的资源分只是想借朋友的一点力积点分方便...
为了提高效率,开发者通常会选择自定义分页,本文将探讨四种使用存储过程实现GridView自定义分页的方法。 首先,我们来理解为什么不应依赖GridView的默认分页。默认分页是通过数据源控件(如SqlDataSource)来实现...
标题"GridView自定义分页及可拖动改变列宽源码"涉及的知识点主要包括两个方面:自定义分页和列宽可拖动调整。 1. 自定义分页: 默认情况下,GridView控件使用服务器端分页,这意味着每次用户翻页时,服务器都需要...
然而,标准的GridView控件默认的分页功能可能无法满足所有用户的需求,这时我们需要自定义分页来提供更加灵活和个性化的用户体验。本文将深入探讨如何在GridView中实现自定义分页,以及这一过程中的关键知识点。 ...
总的来说,ASP.NET中的GridView自定义分页和可拖动改变列宽是提高用户体验的重要手段。通过结合C#服务器端代码、JavaScript客户端代码以及数据库操作,我们可以为用户提供更加灵活和个性化的数据查看体验。
以上就是关于ASP.NET中GridView自定义分页和动态改变列宽的主要内容。在实际开发中,你可能还需要考虑性能优化、用户体验和兼容性等问题,确保代码既高效又易于维护。如果你需要进一步的代码示例或更深入的解释,...
本项目"批量上传图片+lightbox+图片评论+gridview自定义分页控件"正是为了解决这一需求而设计的。以下将详细解释这个系统的关键组成部分及其技术要点。 1. 批量上传图片: 批量上传功能允许用户一次性上传多张图片...
此处自定义分页是在需要时才加载当页数据。 示例中包含完整的Sql数据库访问类(考虑到了存储过程的使用),也可以适应不同的数据库,简单的修改代码即可使用。 示例逻辑层采用存储过程访问数据库,加快访问速度。...
本文将深入探讨如何使用ObjectDataSource与GridView实现自定义分页,并结合Microsoft.Practices.EnterpriseLibrary.Data4.1库进行数据库操作。 首先,`ObjectDataSource`是ASP.NET提供的一种数据源控件,它允许我们...
本文将详细介绍如何在ASP.NET中实现GridView的自定义分页及排序功能,以帮助开发者提高用户体验并优化性能。 首先,我们要了解默认的GridView分页和排序机制。默认情况下,GridView会加载所有数据到内存中,然后...
在商业编程中,GridView的自定义分页和列宽可拖动功能是提高用户体验和数据管理效率的重要特性。 首先,我们来详细了解一下GridView的自定义分页。默认情况下,GridView会按照每页显示固定数量的数据进行分页。然而...
基于ASP.NET的自定义分页显示及可拖动改变列宽代码 支持通过Url进行分页,支持Url分页方式下的Url重写(UrlRewrite)功能,支持使用用户自定义图片做为导航元素,功能强大灵活、使用方便、可定制性强,增强的 Visual...
"具有PageSize更改下拉菜单的GridView自定义分页"是一个高级特性,用于提高用户体验并优化数据加载性能。在这个特性中,用户可以通过下拉菜单选择每一页显示的数据量,而不是默认固定的分页大小。 首先,我们要理解...
在默认情况下,GridView会自动处理分页逻辑,但我们可以进一步自定义分页界面的样式和行为。 `PagerTemplate`是一个特殊的区域,用于定义分页栏的外观和交互。在示例代码中,`PagerTemplate`包含了一个表格,用于...
本文主要探讨了为何不使用GridView的默认分页功能以及通过存储过程实现自定义分页的四种方法。 首先,不使用GridView默认分页的原因在于其效率问题。当使用GridView的内置分页功能时,无论显示哪一页,整个数据源...