ListView.EditIndex Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets or sets the index of the item being edited.

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

public virtual int EditIndex { get; set; }

Property Value

Type: System.Int32

The zero-based index of the item being edited. The default is -1, which indicates that no item is being edited.

Exception Condition

The EditIndex property is set to a value less than -1.

You can use the EditIndex property to programmatically specify or determine which item in a ListView control to edit. When this property is set to the index of an item in the control, that item is displayed in edit mode. In edit mode, the item is rendered by using the EditItemTemplate template instead of the ItemTemplate template. You can populate the EditItemTemplate with data-bound controls to enable users to modify values for the item. To switch from edit mode to display mode, set this property to -1.

The EditIndex property is typically used when you have to programmatically determine which item is being edited, or when you are adding custom editing functionality to the ListView control. The ListView control has a built-in editing feature that automatically puts an item in edit mode if you add a button to the item template whose CommandName property is set to Edit.

The following example shows how to use the EditIndex property to determine whether an item is in edit mode in the ListView control. This code example is part of a larger example provided for the ListViewDataItem class.

protected void ContactsListView_ItemDataBound(object sender, ListViewItemEventArgs e)

  //Verify there is an item being edited.
  if (ContactsListView.EditIndex >= 0)

    //Get the item object.
    ListViewDataItem dataItem = (ListViewDataItem)e.Item;

    // Check for an item in edit mode.
    if (dataItem.DisplayIndex == ContactsListView.EditIndex)

      // Preselect the DropDownList control with the Title value
      // for the current item.

      // Retrieve the underlying data item. In this example
      // the underlying data item is a DataRowView object.        
      DataRowView rowView = (DataRowView)dataItem.DataItem;

      // Retrieve the Title value for the current item. 
      String title = rowView["Title"].ToString();

      // Retrieve the DropDownList control from the current row. 
      DropDownList list = (DropDownList)dataItem.FindControl("TitlesList");

      // Find the ListItem object in the DropDownList control with the 
      // title value and select the item.
      ListItem item = list.Items.FindByText(title);
      list.SelectedIndex = list.Items.IndexOf(item);


.NET Framework
Available since 3.5
Return to top