Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

GridView.EditIndex-Eigenschaft

 

Veröffentlicht: Oktober 2016

Ruft ab oder legt den Index des zu bearbeitenden Zeile.

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

public virtual int EditIndex { get; set; }

Eigenschaftswert

Type: System.Int32

Der nullbasierte Index des zu bearbeitenden Zeile. Der Standardwert ist-1 und bedeutet, dass keine Zeile bearbeitet wird.

Exception Condition
ArgumentOutOfRangeException

Der angegebene Index ist kleiner als -1.

Der Zeilenindex ist nullbasiert (die erste Zeile ist Zeile 0 (null)).

Diese Eigenschaft wird in der Regel nur in den folgenden Szenarien verwendet, die Handler für bestimmte Ereignisse einschließen:

  • Sie möchten die GridView Steuerelement in den Bearbeitungsmodus für eine bestimmte Zeile beim ersten Öffnen, die die Seite angezeigt wird. Zu diesem Zweck können Sie festlegen der EditIndex Eigenschaft im Handler für das Load -Ereignis der Page Klasse oder die GridView Steuerelement.

  • Möchten Sie wissen, welche Zeile bearbeitet wurde, nachdem die Zeile aktualisiert wurde. Zu diesem Zweck können Sie abrufen, der Index der Zeile aus der EditIndex -Eigenschaft in der RowUpdated -Ereignishandler.

  • Sie binden die GridView Steuerelement an eine Datenquelle durch Festlegen der DataSource Eigenschaft programmgesteuert. In diesem Fall müssen Sie festlegen der EditIndex Eigenschaft in der RowEditing und RowCancelingEdit -Ereignishandler.

Wenn Sie festlegen der EditIndex -Eigenschaft nach einem Postback oder im Handler für Ereignisse, die ausgelöst werden später als die Load Ereignis der GridView Steuerelement möglicherweise nicht den Bearbeitungsmodus für die angegebene Zeile. Wenn Sie den Wert dieser Eigenschaft in anderen Ereignishandler lesen, wird der Index nicht unbedingt die Zeile anzuzeigen, die bearbeitet wird.

Um zu bestimmen, die den Benutzer Zeile geklickt hat eine Bearbeiten Schaltfläche oder einen Hyperlink vor der GridView Steuerelement in den Bearbeitungsmodus wechselt, können Sie den Zeilenindex von Abrufen der NewEditIndex Eigenschaft der GridViewEditEventArgs -Objekt in der RowEditing -Ereignishandler.

Zu verhindern, dass die GridView Steuerelement an der Eingabe Bearbeitungsmodus befindet, nachdem ein Benutzer geklickt hat ein Bearbeiten Schaltfläche oder Link, legen die Cancel Eigenschaft der GridViewEditEventArgs -Objekt true in der RowEditing -Ereignishandler.

Im folgenden Beispiel wird veranschaulicht, wie die EditIndex -Eigenschaft können Sie bestimmen, welche Zeile aktualisiert wurde, nach der Bearbeitung in einem GridView Steuerelement. Eine Meldung wird angezeigt, um anzugeben, dass die Aktualisierung erfolgreich war.


<%@ 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_RowCommand(Object sender, GridViewCommandEventArgs e)
  {

    // Clear the message label when the user enters edit mode.
    if (e.CommandName == "Edit")
    {
      Message.Text = "";
    }

  }

  void CustomersGridView_RowUpdated(Object sender, GridViewUpdatedEventArgs e)
    {

        // The update operation was successful. Retrieve the row being edited.
        int index = CustomersGridView.EditIndex;
        GridViewRow row = CustomersGridView.Rows[index];

        // Notify the user that the update was successful.
        Message.Text = "Updated record " + row.Cells[1].Text + ".";

    }

  void CustomersGridView_RowCancelingEdit(Object sender, GridViewCancelEditEventArgs e)
    {

        // The update operation was canceled. Display the appropriate message.
        Message.Text = "Update operation canceled.";

    }

</script>

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

      <h3>GridView Rows Example</h3>

      <asp:label id="Message"
        forecolor="Red"
        runat="server"/>

      <br/>    

      <!-- The GridView control automatically sets the columns     -->
      <!-- specified in the datakeynames property as read-only.    -->
      <!-- No input controls are rendered for these columns in     -->
      <!-- edit mode.                                              -->
      <asp:gridview id="CustomersGridView"
        allowpaging="true" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="true"
        autogenerateeditbutton="true"
        datakeynames="CustomerID"
        onrowcommand="CustomersGridView_RowCommand"
        onrowupdated="CustomersGridView_RowUpdated"
        onrowcancelingedit="CustomersGridView_RowCancelingEdit"  
        runat="server">
      </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="CustomersSqlDataSource"  
        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)"
        deletecommand="Delete from Customers where CustomerID = @CustomerID"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
        runat="server">
      </asp:sqldatasource>

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

.NET Framework
Verfügbar seit 2.0
Zurück zum Anfang
Anzeigen: