ListControl.SelectedIndex Propiedad

Definición

Obtiene o establece el índice ordinal inferior de los elementos seleccionados en la lista.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)]
[System.Web.UI.Themeable(false)]
public virtual int SelectedIndex { get; set; }
member this.SelectedIndex : int with get, set
Public Overridable Property SelectedIndex As Integer

Valor de propiedad

El índice ordinal inferior de los elementos seleccionados en la lista.The lowest ordinal index of the selected items in the list. El valor predeterminado es -1, lo que indica que no se realizó ninguna selección.The default is -1, which indicates that nothing is selected.

Atributos

Excepciones

El índice se ha establecido en un valor inferior a -1, o mayor o igual al número de elementos de la lista en el momento de representar la lista.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.

Ejemplos

En el ejemplo siguiente se muestra cómo SelectedIndex utilizar para determinar el índice más bajo de los elementos seleccionados CheckBoxListen.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>
 

Comentarios

Utilice esta propiedad para determinar el índice del elemento seleccionado actualmente en la lista si el control de lista solo permite una selección.Use this property to determine the index of the currently selected item in the list if the list control allows only one selection. Si el control de lista admite selecciones múltiples, use esta propiedad para determinar el índice más bajo de los elementos seleccionados.If the list control supports multiple selections, use this property to determine the lowest index of the selected items.

El valor de la SelectedIndex propiedad no se guarda específicamente en el PostBack.The value of the SelectedIndex property is not specifically saved on postback. Se restaura en el PostBack mediante SelectedValue la propiedad.It is restored on postback using the SelectedValue property. Por ejemplo, si la SelectedValue propiedad es 4, en el PostBack SelectedIndex , la propiedad se establece ListItem en el índice del objeto que tiene Value una propiedad 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 hay más de ListItem un objeto con Value una propiedad de 4, se selecciona el primer Items elemento de la colección.If more than one ListItem object has a Value property of 4, the first item in the Items collection is selected.

Esta propiedad no se puede establecer mediante temas o temas de la hoja de estilos.This property cannot be set by themes or style sheet themes. Para obtener más información, ThemeableAttribute vea y temas y máscaras de ASP.net.For more information, see ThemeableAttribute and ASP.NET Themes and Skins.

Se aplica a

Consulte también: