ListObject.SelectedIndex Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the index of the row that is currently selected.
public:
property int SelectedIndex { int get(); void set(int value); };
public int SelectedIndex { get; set; }
member this.SelectedIndex : int with get, set
Public Property SelectedIndex As Integer
Property Value
The index number of the currently selected row.
Examples
The following code example creates a ListObject on the current worksheet. It uses the SelectedIndex and AutoSelectRows properties to select the second row and to specify that the entire row is selected when the user clicks a row. The code example also creates an event handler for the SelectedIndexChanged event that displays a message box whenever a new row is selected.
This version is for a document-level customization.
private void ListObject_SelectedIndex()
{
Microsoft.Office.Tools.Excel.ListObject list1 =
this.Controls.AddListObject(this.Range["A1", "D4"],
"list1");
list1.AutoSelectRows = true;
list1.SelectedIndex = 2;
list1.SelectedIndexChanged +=
new EventHandler(list1_SelectedIndexChanged);
}
void list1_SelectedIndexChanged(object sender, EventArgs e)
{
MessageBox.Show("Selected index has changed.");
}
WithEvents SelectedIndexList As Microsoft.Office.Tools.Excel.ListObject
Private Sub ListObject_SelectedIndex()
SelectedIndexList = _
Me.Controls.AddListObject(Me.Range("A1", "D4"), _
"SelectedIndexList")
SelectedIndexList.AutoSelectRows = True
SelectedIndexList.SelectedIndex = 2
End Sub
Private Sub List1_SelectedIndexChanged(ByVal sender As Object, _
ByVal e As EventArgs) Handles SelectedIndexList.SelectedIndexChanged
MessageBox.Show("Selected index has changed.")
End Sub
This version is for an application-level add-in.
private void ListObject_SelectedIndex()
{
Worksheet vstoWorksheet =
Globals.Factory.GetVstoObject(this.Application.ActiveWorkbook.Worksheets[1]);
ListObject list1 =
vstoWorksheet.Controls.AddListObject(
vstoWorksheet.Range["A1", "D4"],
"list1");
list1.AutoSelectRows = true;
list1.SelectedIndex = 2;
list1.SelectedIndexChanged +=
new EventHandler(list1_SelectedIndexChanged);
}
void list1_SelectedIndexChanged(object sender, EventArgs e)
{
System.Windows.Forms.MessageBox.Show("Selected index has changed.");
}
WithEvents SelectedIndexList As ListObject
Private Sub ListObject_SelectedIndex()
Dim NativeWorksheet As Microsoft.Office.Interop.Excel.Worksheet =
Me.Application.Worksheets(1)
Dim vstoWorksheet As Microsoft.Office.Tools.Excel.Worksheet =
Globals.Factory.GetVstoObject(NativeWorksheet)
SelectedIndexList = _
vstoWorksheet.Controls.AddListObject( _
vstoWorksheet.Range("A1", "D4"), _
"SelectedIndexList")
SelectedIndexList.AutoSelectRows = True
SelectedIndexList.SelectedIndex = 2
End Sub
Private Sub List1_SelectedIndexChanged(ByVal sender As Object, _
ByVal e As EventArgs) Handles SelectedIndexList.SelectedIndexChanged
System.Windows.Forms.MessageBox.Show("Selected index has changed.")
End Sub
Remarks
This property is 1-based, not 0-based. The first data row in a ListObject control has an index number of 1.