Export (0) Print
Expand All

GridView.PageIndexChanging Event

Occurs when one of the pager buttons is clicked, but before the GridView control handles the paging operation.

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

'Declaration
Public Event PageIndexChanging As GridViewPageEventHandler
'Usage
Dim instance As GridView 
Dim handler As GridViewPageEventHandler 

AddHandler instance.PageIndexChanging, handler
<asp:GridView OnPageIndexChanging="GridViewPageEventHandler" />

The PageIndexChanging event is raised when one of the pager buttons is clicked, but before the GridView control handles the paging operation. This enables you to provide an event-handling method that performs a custom routine, such as canceling the paging operation, whenever this event occurs.

NoteNote:

This event is not raised when you programmatically set the PageIndex property.

A GridViewPageEventArgs object is passed to the event-handling method, which enables you to determine the index of the page selected by the user and to indicate that the paging operation should be canceled. To cancel the paging operation, set the Cancel property of the GridViewPageEventArgs object to true.

For more information about handling events, see Consuming Events.

The following example demonstrates how to use the PageIndexChanging event to cancel the paging operation if the user attempts to navigate to another page when a GridView control is in edit mode.

<%@ Page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Sub CustomersGridView_PageIndexChanging(ByVal sender As Object, ByVal e As GridViewPageEventArgs)

    ' Cancel the paging operation if the user attempts to navigate 
    ' to another page while the GridView control is in edit mode.  
    If CustomersGridView.EditIndex <> -1 Then 

      ' Use the Cancel property to cancel the paging operation.
      e.Cancel = True 

      ' Display an error message. 
      Dim newPageNumber As Integer = e.NewPageIndex + 1
      Message.Text = "Please update the record before moving to page " & _
        newPageNumber.ToString() & "." 

    Else 

      ' Clear the error message.
      Message.Text = "" 

    End If 

  End Sub 

  Sub CustomersGridView_RowCancelingEdit(ByVal sender As Object, ByVal e As GridViewCancelEditEventArgs)

    ' Clear the error message.
    Message.Text = "" 

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView PageIndexChanging Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>GridView PageIndexChanging 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"
        autogenerateeditbutton="true"
        datakeynames="CustomerID"  
        onpageindexchanging="CustomersGridView_PageIndexChanging"
        onrowcancelingedit="CustomersGridView_RowCancelingEdit" 
        runat="server">

        <pagersettings mode="Numeric"
          position="Bottom"           
          pagebuttoncount="10"/>

        <pagerstyle backcolor="LightBlue"/>

      </asp:gridview>

      <!-- This example uses Microsoft SQL Server and connects  -->
      <!-- to the Northwind sample database. Use an ASP.NET     -->
      <!-- expression to retrieve the connection string value   -->
      <!-- from the Web.config file.                            -->
      <asp:sqldatasource id="CustomersSource"
        selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
        updatecommand="Update Customers SET CompanyName=@CompanyName, Address=@Address, City=@City, PostalCode=@PostalCode, Country=@Country WHERE (CustomerID = @CustomerID)"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>

    </form>
  </body>
</html>

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0

Community Additions

ADD
Show:
© 2014 Microsoft