DetailsView.PageIndexChanged イベント
アセンブリ: System.Web (system.web.dll 内)

Public Event PageIndexChanged As EventHandler
Dim instance As DetailsView Dim handler As EventHandler AddHandler instance.PageIndexChanged, handler
public event EventHandler PageIndexChanged
public: event EventHandler^ PageIndexChanged { void add (EventHandler^ value); void remove (EventHandler^ value); }
/** @event */ public void add_PageIndexChanged (EventHandler value) /** @event */ public void remove_PageIndexChanged (EventHandler value)

DetailsView コントロールは、コントロール内のページャ ボタン (CommandName プロパティが "Page" に設定されたボタン) がクリックされた場合に、DetailsView コントロールでページング操作を処理した後に PageIndexChanged イベントを発生させます。これにより、このイベントが発生するたびにカスタム ルーチンを実行するイベント ハンドラを提供できます。
![]() |
---|
通常、ページャ ボタンは、DetailsView コントロールのページ行に配置されます。このイベントは、ページング操作後に、DetailsView コントロールと GridView コントロールとを同期したり、DetailsView コントロールの動作を設定したりする場合によく使用されます。

PageIndexChanged イベントを使用して、ユーザーが別のレコードに移動した場合に DetailsView を読み取り専用モードに戻す方法のコード例を次に示します。
<%@ Page language="VB" %> <script runat="server"> Sub CustomerDetailView_PageIndexChanged(ByVal sender As Object, _ ByVal e As EventArgs) ' By default, if the DetailsView control is in edit mode and ' user navigates to another page, the DetailsView control ' remains in edit mode. In this example, the ChangeMode ' method is used to put the DetailsView control in read-only ' mode whenever the user navigates to another record. CustomerDetailView.ChangeMode(DetailsViewMode.ReadOnly) End Sub </script> <html> <body> <form id="Form1" runat="server"> <h3>DetailsView ChangeMode Example</h3> <asp:detailsview id="CustomerDetailView" datasourceid="DetailsViewSource" datakeynames="CustomerID" autogenerateeditbutton="true" autogeneraterows="true" allowpaging="true" OnPageIndexChanged="CustomerDetailView_PageIndexChanged" runat="server"> <fieldheaderstyle backcolor="Navy" forecolor="White"/> </asp:detailsview> <!-- 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="DetailsViewSource" runat="server" ConnectionString= "<%$ ConnectionStrings:NorthWindConnectionString%>" InsertCommand="INSERT INTO [Customers]([CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country]) VALUES (@CustomerID, @CompanyName, @Address, @City, @PostalCode, @Country)" SelectCommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"> </asp:SqlDataSource> </form> </body> </html>
<%@ Page language="C#" %> <script runat="server"> void CustomerDetailView_PageIndexChanged(Object sender, EventArgs e) { // By default, if the DetailsView control is in edit mode and // user navigates to another page, the DetailsView control // remains in edit mode. In this example, the ChangeMode // method is used to put the DetailsView control in read-only // mode whenever the user navigates to another record. CustomerDetailView.ChangeMode(DetailsViewMode.ReadOnly); } </script> <html> <body> <form id="Form1" runat="server"> <h3>DetailsView ChangeMode Example</h3> <asp:detailsview id="CustomerDetailView" datasourceid="DetailsViewSource" datakeynames="CustomerID" autogenerateeditbutton="true" autogeneraterows="true" allowpaging="true" OnPageIndexChanged="CustomerDetailView_PageIndexChanged" runat="server"> <fieldheaderstyle backcolor="Navy" forecolor="White"/> </asp:detailsview> <!-- 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="DetailsViewSource" runat="server" ConnectionString= "<%$ ConnectionStrings:NorthWindConnectionString%>" InsertCommand="INSERT INTO [Customers]([CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country]) VALUES (@CustomerID, @CompanyName, @Address, @City, @PostalCode, @Country)" SelectCommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"> </asp:SqlDataSource> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- DetailsView.PageIndexChanged イベントのページへのリンク