ListView.EditIndex 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置所编辑的项的索引。
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控件具有内置的编辑功能,如果将按钮添加到属性设置为 Edit
的项模板,则会自动CommandName将项置于编辑模式。