ListView.EditIndex Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает индекс для редактируемого элемента.
public:
virtual property int EditIndex { int get(); void set(int value); };
public virtual int EditIndex { get; set; }
member this.EditIndex : int with get, set
Public Overridable Property EditIndex As Integer
Значение свойства
Отсчитываемый с нуля индекс редактируемого элемента. По умолчанию используется значение -1, показывающее, что элементы не редактируются.
Исключения
Свойству EditIndex присвоено значение меньше –1.
Примеры
В следующем примере показано, как использовать EditIndex свойство , чтобы определить, находится ли элемент в режиме редактирования в элементе ListView управления . Этот пример входит в состав более крупного примера использования класса ListViewDataItem.
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);
}
}
}
Protected Sub ContactsListView_ItemDataBound(ByVal sender As Object, ByVal e As ListViewItemEventArgs)
'Verify there is an item being edited.
If ContactsListView.EditIndex >= 0 Then
'Get the item object.
Dim dataItem As ListViewDataItem = CType(e.Item, ListViewDataItem)
' Check for an item in edit mode.
If dataItem.DisplayIndex = ContactsListView.EditIndex Then
' 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.
Dim rowView As DataRowView = CType(dataItem.DataItem, DataRowView)
' Retrieve the Title value for the current item.
Dim title As String = rowView("Title").ToString()
' Retrieve the DropDownList control from the current row.
Dim list As DropDownList = CType(dataItem.FindControl("TitlesList"), DropDownList)
' Find the ListItem object in the DropDownList control with the
' title value and select the item.
Dim item As ListItem = list.Items.FindByText(title)
list.SelectedIndex = list.Items.IndexOf(item)
End If
End If
End Sub
Комментарии
Свойство можно использовать для программного EditIndex указания или определения элемента в элементе ListView управления для изменения. Если для этого свойства задан индекс элемента в элементе управления, этот элемент отображается в режиме редактирования. В режиме редактирования элемент отображается с помощью EditItemTemplate шаблона, а не ItemTemplate шаблона. Можно заполнить элементами EditItemTemplate управления с привязкой к данным, чтобы пользователи могли изменять значения элемента. Чтобы переключиться из режима редактирования в режим отображения, задайте для этого свойства значение -1.
Свойство EditIndex обычно используется при программном определении редактируемого элемента или при добавлении пользовательской функции редактирования в ListView элемент управления . Элемент ListView управления имеет встроенную функцию редактирования, которая автоматически переводит элемент в режим редактирования при добавлении кнопки в шаблон элемента, свойство которого CommandName имеет значение Edit
.