GridView的事件PageIndexChanged,它的用法在单击某一页导航按钮时,但在GridView控件处理分页操作之后,讲引发PageIndexChanged事件.这使你可以提供一个这样的事件处理方法,即每次发生此事件时执行一个自定义分页操作.
如果要确定用户选择的页面的索引,请使用GridView控件的PageIndex属性.PageIndex属性用来获取所显示页面的从零开始的索引.当启用分页功能时(通过设置AllowPaging属性为true).
下面的代码使用PageIndexChanged事件显示用户从页导航行中选择的页码.
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void CustomersGridView_DataBound(Object sender, EventArgs e)
{
if (!IsPostBack)
{
//当页面第一次加载的时候,调用DisplayCurrentPage来显示当前页数.
DisplayCurrentPage();
}
}
void CustomersGridView_PageIndexChanged(Object sender, EventArgs e)
{
//当用户导航到不同页面的时候,调用DisplayCurrentPage来显示当前页数
DisplayCurrentPage();
}
void DisplayCurrentPage()
{
// 计算当前页数.
int currentPage = CustomersGridView.PageIndex + 1;//PageIndex属性设置为从零开始,小于零将产生ArgumentOutOfRangeException
// 显示当前页数
Message.Text = "页 " + currentPage.ToString() + " / " +
CustomersGridView.PageCount.ToString() + ".";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>GridView控件事件-PageIndexChanged</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>GridView PageIndexChanged Example</h3>
<asp:label id="Message"
forecolor="Red"
runat="server"/>
<br/>
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSource"
autogeneratecolumns="true"
emptydatatext="No data available."
allowpaging="true"
OnDataBound="CustomersGridView_DataBound"
onpageindexchanged="CustomersGridView_PageIndexChanged"
runat="server" PageSize="5">
<pagerstyle backcolor="LightBlue"/>
</asp:gridview>
<asp:sqldatasource id="CustomersSource"
SelectCommand="SELECT [pkey], [departmentName], [previousName], [remark], [isSubCompany] FROM [DEPARTMENT]"
ConnectionString="<%$ ConnectionStrings:EHRConnectionString %>"
runat="server"/>
</form>
</body>
</html>
评论