`

gridview自定义分页样式

    博客分类:
  • .net
ASP 
阅读更多
gridview自定义分页样式
2009年12月12日 星期六 13:40


先看效果


<一>在aspx页面中添加 <PagerTemplate>代码如下

    <PagerTemplate>
<table width="800px" style="border: 0px; border-style: ridge;" align="center">
<tr>
<td style="border-bottom-style: ridge; width: 100%; text-align: center">
<asp:Label ID="lblCurrrentPage" runat="server" ForeColor="#CC3300"></asp:Label>
<span>移至</span>
<asp:DropDownList ID="page_DropDownList" runat="server" AutoPostBack="True" OnSelectedIndexChanged="page_DropDownList_SelectedIndexChanged">
</asp:DropDownList>
<span>页</span>
<asp:LinkButton ID="lnkBtnFirst" CommandArgument="First" CommandName="page" runat="server">第一页</asp:LinkButton>
<asp:LinkButton ID="lnkBtnPrev" CommandArgument="prev" CommandName="page" runat="server">上一页</asp:LinkButton>
<asp:LinkButton ID="lnkBtnNext" CommandArgument="Next" CommandName="page" runat="server">下一页</asp:LinkButton>
<asp:LinkButton ID="lnkBtnLast" CommandArgument="Last" CommandName="page" runat="server">最后一页</asp:LinkButton>
</td>
</tr>
</table>
</PagerTemplate>



<二>在CS文件中添加GridView的DataBound事件和page_DropDownList_SelectedIndexChanged事件如下

protected void GridView1_DataBound(object sender, EventArgs e)
{


//取得显示分页界面的那一行
GridViewRow pagerRow = GridView1.BottomPagerRow;
if (pagerRow!=null)
{
//取得第一页。上一页。下一页。最后一页的超级链接
LinkButton lnkBtnFirst = (LinkButton)pagerRow.Cells[0].FindControl("lnkBtnFirst");
LinkButton lnkBtnPrev = (LinkButton)pagerRow.Cells[0].FindControl("lnkBtnPrev");
LinkButton lnkBtnNext = (LinkButton)pagerRow.Cells[0].FindControl("lnkBtnNext");
LinkButton lnkBtnLast = (LinkButton)pagerRow.Cells[0].FindControl("lnkBtnLast");

//设置何时应该禁用第一页。上一页。下一页。最后一页的超级链接
if (GridView1.PageIndex == 0)
{
lnkBtnFirst.Enabled = false;
lnkBtnPrev.Enabled = false;
}
else if (GridView1.PageIndex == GridView1.PageCount - 1)
{
lnkBtnNext.Enabled = false;
lnkBtnLast.Enabled = false;
}
else if (GridView1.PageCount <= 0)
{
lnkBtnFirst.Enabled = false;
lnkBtnPrev.Enabled = false;
lnkBtnNext.Enabled = false;
lnkBtnLast.Enabled = false;
}
//从显示分页的行中取得用来显示页次与切换分页的DropDownList控件
DropDownList pageList = (DropDownList)pagerRow.Cells[0].FindControl("page_DropDownList");

//根据欲显示的数据源的总页数,创建DropDownList控件的下拉菜单内容
if (pageList != null)
{
int intPage;
for (intPage = 0; intPage <= GridView1.PageCount - 1; intPage++)
{
//创建一个ListItem对象来存放分页列表
int pageNumber = intPage + 1;
ListItem item = new ListItem(pageNumber.ToString());

//交替显示背景颜色
switch (pageNumber % 2)
{
case 0: item.Attributes.Add("style", "background:#CDC9C2;");
break;
case 1: item.Attributes.Add("style", "color:red; background:white;");
break;
}
if (intPage == GridView1.PageIndex)
{
item.Selected = true;
}
pageList.Items.Add(item);
}
}
//显示当前所在页数与总页数
Label pagerLabel = (Label)pagerRow.Cells[0].FindControl("lblCurrrentPage");

if (pagerLabel != null)
{

int currentPage = GridView1.PageIndex + 1;
pagerLabel.Text = "第" + currentPage.ToString() + "页(共" + GridView1.PageCount.ToString() + " 页)";

}
}

}


protected void page_DropDownList_SelectedIndexChanged(object sender, EventArgs e)
{

//取得显示分页界面的那一行
GridViewRow pagerRow = GridView1.BottomPagerRow;
//从显示页数的行中取得显示页数的DropDownList控件
DropDownList pageList = (DropDownList)pagerRow.Cells[0].FindControl("page_DropDownList");
//将GridView移至用户所选择的页数
GridView1.PageIndex = pageList.SelectedIndex;

//getData();不用数据源需要绑定
}







<三>注意,须设置 AllowPaging="True"
以上采用数据源控件绑定数据;
如代码绑定则需要添加如下代码
if (!IsPostBack)
{
getData();//绑定数据方法
}

//分页
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
getData();
}
分享到:
评论

相关推荐

    GridView分页整套精美样式

    GridView自定义分页整套精美样式,样式采用CSS。

    GridView自定义分页实例详解(附demo源码下载)

    主要介绍了GridView自定义分页的方法,结合实例形式较为详细的分析了GridView自定义分页所涉及的样式布局及功能实现相关技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下

    gridview数据绑定和自定义分页

    gridview数据绑定和自定义分页,完整的例子,样式简单大方,下载即可用到项目中

    GridView分页的实现以及自定义分页样式功能实例

    GridView分页的实现 代码如下: 要在GridView中加入 //实现分页 AllowPaging=”true” //一页数据10行 PageSize=”10″ // 分页时触发的事件 OnPageIndexChanging=”gvwDesignationName_PageIndexChanging” 在服务器...

    ASP.NET自定义分页控件(最终版兼容所有浏览器有源码)

    和AspNetPager一样的风格,在他的风格上改变了一点,兼容所有浏览器,用法和例子都在里面有,包括了DLL和UserControl两个版本,含源码!欢迎大家一使用!如果觉得样式不喜欢的,可以自己在源码里修改!

    Gridview自定义的最好,最方便的分页

    一个好的gridview控件分页代码,封装了分页的类,在后台只需要几段代码就可以实现了,同时打包了一个很好用的操作数据库的dll,操作简单方便...

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

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

    .net 服务器端自定义分页控件

    参考网上的一此代码写的一个自定义分页控件,适用于gridview datalist等绑定数据源的控件。 此控件不对数据源进行处理,可以配合分页存储过程使用。 展开“工具箱”,右键-“选择项...”,将控件引入,用时从...

    NET2005自定义分页控件

    NET自定义分页控件,支持MSSQL数据库,二种显示样式,支持棒定DataGrid,GridView,DataList,ListView等数据表单.

    repeater自定义分页

    可以很好的实现repeater的自定义分页,repeater相对于gridview来说比较自由,灵活,但是没有内包分页。

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

    1、本控件为本人开发的基于Asp.net的分页控件,版权归青岛晨曦软件有限公司所有,作者:李万锋享有该控件的...5、每页显示的数量以及显示的页码数量和样式用户可以完全自定义。 6、页面使用方法参见:Help.txt文档。

    瞻远分页控件演示版(带24种分页样式)源码

     一、支持网上流传的24种分页样式;  二、无限扩展自定义样式,灵活;  三、支持所有asp.net控件分页绑定; 四、分页效率高;  五、扩展方便、灵活性高;  六、支持所有浏览器,文档类型、兼容性高; 使用方法:...

    瞻远分页控件(带24种分页样式)

     一、支持网上流传的24种分页样式;  二、无限扩展自定义样式,灵活;  三、支持所有asp.net控件分页绑定; 四、分页效率高;  五、扩展方便、灵活性高;  六、支持所有浏览器,文档类型、兼容性高; 使用方法:...

    重写Asp.net中GridView,增加冻结窗口等多项功能

    一个多功能的GridView,在asp.net原有的GridView上增加了11个新功能,包括分组,冻结窗口,鼠标事件,复合排序,联动复选框,响应行的单击事件和双击事件,行右键菜单,自定义分页样式,合并指定列的相邻且内容相同的单元格等...

    能用漂亮分页控件及Demo源码

    Url重写技术可以使显示给用户的Url不同于实际的Url,Url重写技术被广泛应用于搜索引擎优化(SEO)、网站重组后重定向页面路径以及提供用户友好的Url等方面, AspNetPager支持Url重写技术使您可以自定义分页导航的Url...

    NET SmartControls 分页控件

    自定义分页样式。显示总记录数、每页记录数、当前页数、总页数、首页、上一页、下一页、末页和分页按钮 扩展DropDownList控件和ListBox控件- 支持分组功能(optgroup标签) DropDownList(ListBox)控件既强大又好用。...

    SmartControls控件扩展Demo源码.rar

    自定义分页样式。显示总记录数、每页记录数、当前页数、总页数、首页、上一页、下一页、末页和分页按钮 扩展DropDownList控件和ListBox控件- 支持分组功能(optgroup标签) DropDownList(ListBox)控件既强大又好用。...

    瞻远分页控件演示版(带24种分页样式) 源码

     一、支持网上流传的24种分页样式;  二、无限扩展自定义样式,灵活;  三、支持所有asp.net控件分页绑定; 四、分页效率高;  五、扩展方便、灵活性高;  六、支持所有浏览器,文档类型、兼容性高; 使用方法:...

Global site tag (gtag.js) - Google Analytics