ListControl.SelectedIndex Propriété

Définition

Obtient ou définit l'index ordinal le moins élevé des éléments sélectionnés dans la liste.Gets or sets the lowest ordinal index of the selected items in the list.

public:
 virtual property int SelectedIndex { int get(); void set(int value); };
[System.ComponentModel.Bindable(true)]
[System.ComponentModel.Browsable(false)]
public virtual int SelectedIndex { get; set; }
[System.ComponentModel.Bindable(true)]
[System.ComponentModel.Browsable(false)]
[System.Web.UI.Themeable(false)]
public virtual int SelectedIndex { get; set; }
[<System.ComponentModel.Bindable(true)>]
[<System.ComponentModel.Browsable(false)>]
member this.SelectedIndex : int with get, set
[<System.ComponentModel.Bindable(true)>]
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.Themeable(false)>]
member this.SelectedIndex : int with get, set
Public Overridable Property SelectedIndex As Integer

Valeur de propriété

Int32

Index ordinal le moins élevé des éléments sélectionnés dans la liste.The lowest ordinal index of the selected items in the list. La valeur par défaut est -1 (aucun élément n'est sélectionné).The default is -1, which indicates that nothing is selected.

Attributs

Exceptions

La valeur affectée à l'index est inférieure à -1, ou supérieure ou égale au nombre d'éléments de la liste au moment où la liste est restituée.The index was set to less than -1, or greater than or equal to the number of items on the list at the time the list is rendered.

Exemples

L’exemple suivant montre comment utiliser SelectedIndex pour déterminer l’index le plus bas des éléments sélectionnés dans le CheckBoxList .The following example demonstrates how to use SelectedIndex to determine the lowest index of the selected items in the CheckBoxList.

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <script language="c#" runat="server">
 
    ICollection CreateDataSource() {
       DataTable dt = new DataTable();
       DataRow dr;
 
       dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
       dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
       dt.Columns.Add(new DataColumn("DateTimeValue", typeof(DateTime)));
       dt.Columns.Add(new DataColumn("BoolValue", typeof(bool)));
       dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
 
       for (int i = 0; i < 9; i++) {
          dr = dt.NewRow();
 
          dr[0] = i;
          dr[1] = "Item " + i.ToString();
          dr[2] = DateTime.Now;
          dr[3] = (i % 2 != 0) ? true : false;
          dr[4] = 1.23 * (i+1);
 
          dt.Rows.Add(dr);
       }
 
       DataView dv = new DataView(dt);
       return dv;
    }
 
    void Page_Load(Object sender, EventArgs e) {
       if (!IsPostBack) {
          CheckBoxList1.DataSource = CreateDataSource();
          CheckBoxList1.DataTextField="StringValue";
          CheckBoxList1.DataValueField="CurrencyValue";
          CheckBoxList1.DataBind();
       }
    }
 
    void Index_Changed(Object sender, EventArgs e) {
 
       Label1.Text = "The index of the first item selected is: " + 
                     CheckBoxList1.SelectedIndex.ToString(); 
 
    }
 
 </script>
 
 <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
 
    <form id="form1" runat="server">
 
       <asp:CheckBoxList id="CheckBoxList1" 
            OnSelectedIndexChanged="Index_Changed"
            AutoPostBack="true"
            runat="server"/>
 
       <br />
 
       <asp:Label id="Label1" runat="server"/>
 
    </form>
 
 </body>
 </html>
 
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <script language="vb" runat="server">

    Function CreateDataSource() As ICollection
        Dim dt As New DataTable()
        Dim dr As DataRow
        
        dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
        dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
        dt.Columns.Add(New DataColumn("DateTimeValue", GetType(DateTime)))
        dt.Columns.Add(New DataColumn("BoolValue", GetType(Boolean)))
        dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
        
        Dim i As Integer
        For i = 0 To 8
            dr = dt.NewRow()
            
            dr(0) = i
            dr(1) = "Item " + i.ToString()
            dr(2) = DateTime.Now
            If (i Mod 2) <> 0 Then
                dr(3) = True
            Else
                dr(3) = False
            End If
            dr(4) = 1.23 *(i + 1)
            
            dt.Rows.Add(dr)
        Next i
        
        Dim dv As New DataView(dt)
        Return dv
    End Function

    Sub Page_Load(sender As Object, e As EventArgs)
        If Not IsPostBack Then
            CheckBoxList1.DataSource = CreateDataSource()
            CheckBoxList1.DataTextField = "StringValue"
            CheckBoxList1.DataValueField = "CurrencyValue"
            CheckBoxList1.DataBind()
        End If
    End Sub

    Sub Index_Changed(sender As Object, e As EventArgs)        
        Label1.Text = "The index of the first item selected is: " & _
            CheckBoxList1.SelectedIndex.ToString()
    End Sub
 
 </script>
 
 <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
 
    <form id="form1" runat="server">
 
       <asp:CheckBoxList id="CheckBoxList1" 
            OnSelectedIndexChanged="Index_Changed"
            AutoPostBack="true"
            runat="server"/>
 
       <br />
 
       <asp:Label id="Label1" runat="server"/>
 
    </form>
 
 </body>
 </html>
 

Remarques

Utilisez cette propriété pour déterminer l’index de l’élément actuellement sélectionné dans la liste si le contrôle de liste n’autorise qu’une seule sélection.Use this property to determine the index of the currently selected item in the list if the list control allows only one selection. Si le contrôle de liste prend en charge les sélections multiples, utilisez cette propriété pour déterminer l’index le plus bas des éléments sélectionnés.If the list control supports multiple selections, use this property to determine the lowest index of the selected items.

La valeur de la SelectedIndex propriété n’est pas enregistrée spécifiquement lors de la publication (postback).The value of the SelectedIndex property is not specifically saved on postback. Elle est restaurée lors de la publication à l’aide de la SelectedValue propriété.It is restored on postback using the SelectedValue property. Par exemple, si la SelectedValue propriété est 4, lors de la publication (postback), la SelectedIndex propriété a la valeur de l’index de l' ListItem objet qui a une Value propriété de 4.For example, if the SelectedValue property is 4, on postback, the SelectedIndex property is set to the index of the ListItem object that has a Value property of 4. Si plusieurs ListItem objets ont une Value propriété de 4, le premier élément de la Items collection est sélectionné.If more than one ListItem object has a Value property of 4, the first item in the Items collection is selected.

Cette propriété ne peut pas être définie par les thèmes ou les thèmes de feuille de style.This property cannot be set by themes or style sheet themes. Pour plus d’informations, consultez ThemeableAttribute et thèmes et apparences ASP.net.For more information, see ThemeableAttribute and ASP.NET Themes and Skins.

S’applique à

Voir aussi