Freigeben über


ListControl.SelectedIndex-Eigenschaft

Ruft den niedrigsten Ordinalindex der in der Liste ausgewählten Elemente ab oder legt diesen fest.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
<ThemeableAttribute(False)> _
<BindableAttribute(True)> _
Public Overridable Property SelectedIndex As Integer
'Usage
Dim instance As ListControl
Dim value As Integer

value = instance.SelectedIndex

instance.SelectedIndex = value
[ThemeableAttribute(false)] 
[BindableAttribute(true)] 
public virtual int SelectedIndex { get; set; }
[ThemeableAttribute(false)] 
[BindableAttribute(true)] 
public:
virtual property int SelectedIndex {
    int get ();
    void set (int value);
}
/** @property */
public int get_SelectedIndex ()

/** @property */
public void set_SelectedIndex (int value)
public function get SelectedIndex () : int

public function set SelectedIndex (value : int)

Eigenschaftenwert

Der niedrigste Ordinalindex der in der Liste ausgewählten Elemente. Der Standardwert ist -1 und bedeutet, das keine Auswahl getroffen wurde.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentOutOfRangeException

Der Index wurde auf einen Wert kleiner -1 festgelegt, oder er ist größer als oder gleich der Anzahl der Elemente in der Liste zur Zeit der Wiedergabe der Liste.

Hinweise

Mit dieser Eigenschaft können Sie den Index des gegenwärtig in der Liste ausgewählten Elements bestimmen, wenn das Listensteuerelement nur die Auswahl eines Elements zulässt. Wenn im Listensteuerelement mehrere Elemente ausgewählt werden können, geben Sie mit dieser Eigenschaft den niedrigsten Index für die ausgewählten Elemente an.

Der Wert der SelectedIndex-Eigenschaft wird beim Postback nicht ausdrücklich gespeichert. Er wird beim Postback mithilfe der SelectedValue-Eigenschaft wiederhergestellt. Wenn die SelectedValue-Eigenschaft z. B. den Wert 4 hat, wird die SelectedIndex-Eigenschaft beim Postback auf den Index des ListItem-Objekts festgelegt, dessen Value-Eigenschaft den Wert 4 hat. Wenn mehrere ListItem-Objekte eine Value-Eigenschaft mit dem Wert 4 haben, wird das erste Element in der Items-Auflistung ausgewählt.

Diese Eigenschaft kann nicht durch Designs oder Stylesheetdesigns festgelegt werden. Weitere Informationen finden Sie unter ThemeableAttribute und Übersicht über ASP.NET-Designs und ASP.NET-Skins.

Thema Position
Gewusst wie: Festlegen der Auswahl in List-Webserversteuerelementen (Visual Studio) Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Festlegen der Auswahl in List-Webserversteuerelementen (Visual Studio) Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Bestimmen der Auswahl in List-Webserversteuerelementen Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Festlegen der Auswahl in List-Webserversteuerelementen (Visual Studio) Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Bestimmen der Auswahl in List-Webserversteuerelementen Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Bestimmen der Auswahl in List-Webserversteuerelementen Erstellen von ASP.NET-Webanwendungen

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie mithilfe von SelectedIndex der niedrigste Index der ausgewählten Elemente in CheckBoxList bestimmt wird.

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
 <html>
 <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>
 
 <body>
 
    <form 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="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
 <html>
 <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>
 
 <body>
 
    <form 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="JScript" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
 <html>
 <script language="JSCRIPT" runat="server">

    function CreateDataSource() : ICollection{
        var dt : DataTable = new DataTable()
        var dr : DataRow
        
        
        dt.Columns.Add(new DataColumn("IntegerValue", System.Int32))
        dt.Columns.Add(new DataColumn("StringValue", System.String))
        dt.Columns.Add(new DataColumn("DateTimeValue", System.DateTime))
        dt.Columns.Add(new DataColumn("BoolValue", System.Boolean))
        dt.Columns.Add(new DataColumn("CurrencyValue", System.Double))
        
        var i : int
        for( i = 0; i < 9; i++){
            dr = dt.NewRow()
            
            dr("IntegerValue") = i
            dr("StringValue") = "Item " + i.ToString()
            dr("DateTimeValue") = DateTime.Now
            dr("BoolValue") = ((i % 2) != 0) ? true : false
            dr("CurrencyValue") = 1.23 *(i + 1)
            
            dt.Rows.Add(dr)
        }
        
        var dv : DataView = new DataView(dt)
        return dv
    }

    function Page_Load(sender : Object, e : EventArgs){
        if(!IsPostBack){
            CheckBoxList1.DataSource = CreateDataSource()
            CheckBoxList1.DataTextField = "StringValue"
            CheckBoxList1.DataValueField = "CurrencyValue"
            CheckBoxList1.DataBind()
        }
    }

    function Index_Changed(sender : Object, e : EventArgs){
        Label1.Text = "The index of the first item selected is: " + CheckBoxList1.SelectedIndex.ToString()
    }
 
 </script>
 
 <body>
 
    <form runat=server>
 
       <asp:CheckBoxList id="CheckBoxList1" 
            OnSelectedIndexChanged="Index_Changed"
            AutoPostBack="true"
            runat="server"/>
 
       <br>
 
       <asp:Label id="Label1" runat="server"/>
 
    </form>
 
 </body>
 </html>
 

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

ListControl-Klasse
ListControl-Member
System.Web.UI.WebControls-Namespace
CheckBoxList-Klasse