GridView分页系列精装版
1 GridView自带分页GridView自带的分页是假分页他每次从数据库把数据全部查询出之后通过分页的算法进行按每页数量进行分页。
分页的属性元素分页功能的实现就是通过对这些属性元素的操作实现的。
//this GvShow PageIndex当前页的索引
//this GvShow PageCount总共的页数
//this GvShow Rows Count当前页签的gridview的行数
//this GvShow PageSize每页的记录数
//this GvShow PageIndex*this GvShow rows count+1 行索引
设置普通的 GridView分页属性Al lowPaging="True" 、 PageSize="2"设置分页事件onpageindexchanging="GvShow_PageIndexChanging"
后台方法绑定protected void GvShow_PageIndexChanging(object sender,GridViewPageEventArgs e)
{this GvShow PageIndex=e NewPageIndex;
BindView();
}
2 自定义样式的GridView自带分页
普通的GridView自带的分页不带样式只是普通的1 ,2,3等如果希望获取到具有其他分页样式就应该设置<PagerSettings Position="TopAndBottom" PageButtonCount="1"/>属性<%--Fi rstPageText="首页"LastPageText="尾页" NextPageText="下一页" PreviousPageText="上一页
"--%>
后台访问此属性的实例this GvShow PagerSettings FirstPageText="首页";this GvShow PagerSettings LastPageText="尾页";this GvShow PagerSettings NextPageText="下一页";this GvShow PagerSettings PreviousPageText="上一页";this GvShow PagerSettings Mode=PagerButtons NextPreviousFirstLast;
通过<PagerStyle HorizontalAl ign="Center" VerticalAl ign="Middle" />属性可以设置GRIDVIEW分页的样式
3 在<Pag e rTem pl ate></Page rTem p late>分页模板中自定义分页的样式虽然微软开辟了这个模板提供给用户类似于自定义分页的功能但这个功能完全还是基于微软的GridView自带的分页进行的 <PagerSettings>属性的 Visable 的属性必须是true Al lowPaging="true"与PageSize="3"属性页都要进行相关的有效设置才可以。这种情况下的分页可以不使用onpageindexchanging="GvShow_PageIndexChanging"微软自带的分页事件开发自己独立的分页事件与方法即可
例
前台代码
<asp:GridView id="GvShow" runat="server"Width="910px"BorderColor="#687BC4"
BorderWidth="1px"PageSize="3"
Cel lPadding="1"HorizontalAl ign="Center"BorderStyle="None"
Al lowPaging="true"
AutoGenerateColum ns="False"onpageindexchanging="GvShow_PageIndexChanging"onrowdatabound="GvShow_RowDataBound"Height="132px"onrowcomm and="GvShow_RowComm and">
<SelectedRowStyle ForeColor="#FFFF99"
BackColor="#FFFF99"></SelectedRowStyle>
<AlternatingRowStyle BackColor="#EEF2F1"></AlternatingRowStyle>
<RowStyle BackColor="White"Height="24"></RowStyle>
<HeaderStyle Wrap="False"HorizontalAl ign="Center"Height="24px"ForeColor="Black"VerticalAl ign="Middle"
BackColor="#BFD5FA"></HeaderStyle>
<%--<PagerSettings Position="TopAndBottom"/>--%>
<%--FirstPageText="首页"LastPageText="尾页" NextPageText="下一页" PreviousPageText="上一页"--%>
<PagerStyle ForeColor="White"HorizontalAlign="Center"
BackColor="ActiveBorder"Font-Underl ine="false" />
<Columns>
<asp:TemplateField HeaderText="省份">
<ItemStyle HorizontalAl ign="Center"
VerticalAlign="Middle"></ItemStyle>
<Item Tem plate>
<asp:Label ID="lblRegionName" runat="server"Text='<%#Eval("rnam e")%>'></asp:Label>
</Item Template>
</asp:Tem plateField>
<asp:TemplateField HeaderText="城市">
<ItemStyle HorizontalAl ign="Center"
VerticalAlign="Middle"></ItemStyle>
<Item Tem plate>
<asp:Label ID="lblCityName" runat="server"Text='<%#Eval("cnam e")%>'></asp:Label>
</Item Template>
</asp:Tem plateField>
<asp:TemplateField HeaderText="用户名">
<ItemStyle HorizontalAl ign="Center"
VerticalAlign="Middle"></ItemStyle>
<Item Tem plate>
<asp:Label ID="lblUserName" runat="server"Text='<%#Eval("usernam e")%>'></asp:Label>
</Item Template>
</asp:Tem plateField>
</Columns>
<PagerTem plate>
<table cellSpacing="0"cel lPadding="0"width="100%"al ign="center"border="0">
<tr>
<td vAl ign="middle"align="center"> 『<asp: l inkbuttonid="cmdbegin" runat="server"CommandName="begin" >首页</asp: l inkbutton>』
『<asp: l inkbutton id="cmdbefore" runat="server"CommandName="before">上一页</asp: l inkbutton>』
『<asp: l inkbutton id="cmdafter" runat="server"CommandName="after" >下一页</asp: l inkbutton>』
『<asp: l inkbutton id="cmdend" runat="server"CommandName="end" >尾页</asp: linkbutton>』
</td>
<td vAl ign="middle"align="center">页次 <asp: labelid="txtNowPage" runat="server"ForeColor="red">0</asp: label>/<asp: label id="txtAl lPage"runat="server"ForeColor="red">0</asp: label>页
共<asp: label id="txtTotal" runat="server"ForeColor="red">0</asp: label>条记录&n bsp;
<asp: label id="txtNowRed" runat="server"ForeColor="red">0</asp: label>条记录/页
</td>
<td vAl ig n="top"al ig n="center"><asp:checkbox
id="cmdCheck" runat="server"Text="显示数字按钮"AutoPostBack="True"oncheckedchanged="cmdCheck_CheckedChanged"></asp:checkbox></td></tr>
</ta b l e>
</PagerTem plate>
</asp:GridView>
后台代码namespace GridViewDemo GridView分页系列
{public partial class GridView自定义分页02:System Web UI Page{protected void Page_Load(object sender,EventArgs e)
{if(! IsPostBack)
{
BindView();
I n itButto ns();
}
}private void BindView()
{
DataTable dt=UserDemoAccess GetUserSouce();
ViewState["RowCounts"]=dt Rows Count ToString();this GvShow DataSource=dt; ;this GvShow DataBind();
}protected void GvShow_PageIndexChanging(object sender,GridViewPageEventArgs e)
{this GvShow PageIndex=e NewPageIndex;
BindView();
I n itButton s();
}protected void GvShow_RowDataBound(object sender,GridViewRowEventArgs e)
{if(e Row RowType==DataControlRowType DataRow)
{e Row Attributes Add("onmouseover",
"this setAttribute('BKC',this style backgroundColor);this style cursor='default',this style backgroundColor='#ffff99'");e Row Attributes Add("onmouseout",
"this style backgroundColor=this getAttribute('BKC');");
}
//if(e Row RowType==DataControlRowType Pager)
//{
// GridViewRow gr=e Row;
// //页次--第几页
// Label txtNowPage=gr FindControl("txtNowPage")as Label ;// //总页数
// Label txtAl lPage=gr FindControl("txtAl lPage")as Label ;// //总记录数
// Label txtTotal=gr FindControl("txtTotal")as Label ;// //条记录/页
// Label txtNowRed=gr FindControl("txtNowRed")as Label ;// txtNowPage Text=(this GvShow PageIndex+1)ToString();// txtAl lPage Text=this GvShow PageCount ToString();// txtTotal Text=ViewState["RowCounts"]ToString();// txtNowRed Text=this GvShow PageSize ToString();
//}
}protected void cmdCheck_CheckedChanged(object sender,EventArgs e)
{
//CheckBox cmdCheck=this GvShow BottomPagerRow FindControl("cmdCheck")asCheckBox;
//if(cmdCheck Checked)
//{
// this GvShow PagerSettings Mode=PagerButtons Numeric;
//}
}protected void GvShow_RowCommand(object sender,GridViewCommandEventArgs e)
{
//控制页签switch(e CommandName)
{case"begin":this GvShow PageIndex=0;
乐凝网络怎么样?乐凝网络是一家新兴的云服务器商家,目前主要提供香港CN2 GIA、美国CUVIP、美国CERA、日本东京CN2等云服务器及云挂机宝等服务。乐凝网络提供比同行更多的售后服务,让您在使用过程中更加省心,使用零云服务器,可免费享受超过50项运维服务,1分钟内极速响应,平均20分钟内解决运维问题,助您无忧上云。目前,香港HKBN/美国cera云服务器,低至9.88元/月起,支持24小时无理...
快云科技怎么样?快云科技是一家成立于2020年的新起国内主机商,资质齐全 持有IDC ICP ISP等正规商家。云服务器网(yuntue.com)小编之前已经介绍过很多快云科技的香港及美国云服务器了,这次再介绍一下新的优惠方案。目前,香港云沙田CN2云服务器低至29元/月起;美国超防弹性云/洛杉矶CUVIP低至33.6元/月起。快云科技的云主机架构采用KVM虚拟化技术,全盘SSD硬盘,RAID10...
古德云(goodkvm)怎么样?古德云是一家成立于2020年的商家,原名(锤子云),古德云主要出售VPS服务器、独立服务器。古德云主打产品是香港cn2弹性云及美西cn2云服务器,采用的是kvm虚拟化构架,硬盘Raid10。目前,古德云香港沙田cn2机房及美国五星级机房云服务器,2核2G,40G系统盘+50G数据盘,仅35元/月起,性价比较高,可以入手!点击进入:古德云goodkvm官方网站地址古德...