ListControl.SelectedIndex Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví nejnižší pořadový index vybraných položek v seznamu.
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
Hodnota vlastnosti
Nejnižší pořadový index vybraných položek v seznamu. Výchozí hodnota je -1, což znamená, že není vybráno nic.
- Atributy
Výjimky
Index byl nastaven na hodnotu menší než -1 nebo větší nebo roven počtu položek v seznamu v okamžiku vykreslení seznamu.
Příklady
Následující příklad ukazuje použití k SelectedIndex určení nejnižšího indexu vybraných položek v objektu 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>
Poznámky
Tato vlastnost slouží k určení indexu aktuálně vybrané položky v seznamu, pokud ovládací prvek seznamu umožňuje pouze jeden výběr. Pokud ovládací prvek seznamu podporuje více výběrů, použijte tuto vlastnost k určení nejnižšího indexu vybraných položek.
Hodnota SelectedIndex vlastnosti není specificky uložena na postback. Při zpětném odeslání se obnoví pomocí SelectedValue vlastnosti . Pokud SelectedValue je například vlastnost 4, při zpětném odeslání SelectedIndex je vlastnost nastavena na index objektu ListItem , který má Value vlastnost 4. Pokud má Value více než jeden ListItem objekt vlastnost 4, je vybrána první položka v kolekciItems.
Tuto vlastnost nelze nastavit pomocí motivů nebo šablon stylů. Další informace najdete v tématu ThemeableAttribute a ASP.NET Motivy a skiny.