DataList.SelectedItem Property
Gets the selected item in the DataList control.
[Visual Basic] Public Overridable ReadOnly Property SelectedItem As DataListItem [C#] public virtual DataListItem SelectedItem {get;} [C++] public: __property virtual DataListItem* get_SelectedItem(); [JScript] public function get SelectedItem() : DataListItem;
Property Value
A DataListItem that represents the item selected in the DataList control.
Remarks
Use the SelectedItem property to get a DataListItem object that represents the selected item in the DataList control. This object can then be used to access the properties of the selected item.
Example
[Visual Basic, C#] The following example demonstrates how to use the SelectedItem property to display the contents of the selected item in the DataList control.
[Visual Basic, C#] Note The following code sample uses the single-file code model and may not work correctly if copied directly into a code-behind file. This code sample must be copied into an empty text file that has an .aspx extension. For more information on the Web Forms code model, see Web Forms Code Model.
[Visual Basic] <%@ Page Language="VB" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <head> <script language="VB" runat="server"> Dim Cart As DataTable Dim CartView As DataView Sub Page_Load(sender As Object, e As EventArgs) If Session("DL3_ShoppingCart") Is Nothing Then Cart = New DataTable() Cart.Columns.Add(New DataColumn("Qty", GetType(String))) Cart.Columns.Add(New DataColumn("Item", GetType(String))) Cart.Columns.Add(New DataColumn("Price", GetType(String))) Session("DL3_ShoppingCart") = Cart ' First Load - Create some data. Dim i As Integer For i = 1 To 9 Dim dr As DataRow = Cart.NewRow() dr(0) =(i Mod 2 + 1).ToString() dr(1) = "Item " & i.ToString() dr(2) =(1.23 *(i + 1)).ToString() Cart.Rows.Add(dr) Next i Else Cart = CType(Session("DL3_ShoppingCart"), DataTable) End If CartView = New DataView(Cart) CartView.Sort = "Item" If Not IsPostBack Then BindList() End If End Sub 'Page_Load Sub BindList() DataList1.DataSource = CartView DataList1.DataBind() End Sub 'BindList Sub DataList_ItemCommand(sender As Object, e As DataListCommandEventArgs) DataList1.SelectedIndex = e.Item.ItemIndex BindList() Label4.Text = "You selected: " & CType(DataList1.SelectedItem.FindControl("Label1"), Label).Text End Sub 'DataList_ItemCommand Sub Button_Click(sender As Object, e As EventArgs) If Not (DataList1.SelectedItem Is Nothing) Then DataList1.SelectedItem.ForeColor = System.Drawing.Color.Red End If End Sub 'Button_Click </script> </head> <body> <form runat=server> <h3>DataList SelectedItem Example</h3> <p></p> <asp:DataList id="DataList1" runat="server" GridLines="Both" CellPadding="3" CellSpacing="0" OnItemCommand="DataList_ItemCommand"> <HeaderStyle BackColor="#aaaadd"> </HeaderStyle> <AlternatingItemStyle BackColor="Gainsboro"> </AlternatingItemStyle> <SelectedItemStyle BackColor="lightgreen"> </SelectedItemStyle> <HeaderTemplate> Items </HeaderTemplate> <ItemTemplate> <asp:LinkButton id="button1" Text="Select" CommandName="select" runat="server"/> <%# (CType(Container.DataItem, DataRowView))("Item")%> </ItemTemplate> <SelectedItemTemplate> Item: <asp:Label id="Label1" Text='<%# (CType(Container.DataItem, DataRowView))("Item")%>' runat="server"/> <br> Quantity: <asp:Label id="Label2" Text='<%# (CType(Container.DataItem, DataRowView))("Qty")%>' runat="server"/> <br> Price: <asp:Label id="Label3" Text='<%# DataBinder.Eval(Container.DataItem, "Price")%>' runat="server"/> </SelectedItemTemplate> </asp:DataList> <br><br> <asp:Label id="Label4" runat="server"/> <br><br> <asp:Button id="Button2" Text="Change Text to Red" OnClick="Button_Click" runat="server"/> </form> </body> </html> [C#] <%@ Page Language="C#" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <head> <script language="C#" runat="server"> public DataTable Cart; public DataView CartView; void Page_Load(Object sender, EventArgs e) { if (Session["DL3_ShoppingCart"] == null) { Cart = new DataTable(); Cart.Columns.Add(new DataColumn("Qty", typeof(string))); Cart.Columns.Add(new DataColumn("Item", typeof(string))); Cart.Columns.Add(new DataColumn("Price", typeof(string))); Session["DL3_ShoppingCart"] = Cart; // First Load - Create some data. for (int i=1; i<=9; i++) { DataRow dr = Cart.NewRow(); dr[0] = ((i%2)+1).ToString(); dr[1] = "Item " + i.ToString(); dr[2] = (1.23 * (i+1)).ToString(); Cart.Rows.Add(dr); } } else Cart = (DataTable)Session["DL3_ShoppingCart"]; CartView = new DataView(Cart); CartView.Sort = "Item"; if (!IsPostBack) BindList(); } void BindList() { DataList1.DataSource= CartView; DataList1.DataBind(); } void DataList_ItemCommand(Object sender, DataListCommandEventArgs e) { DataList1.SelectedIndex = e.Item.ItemIndex; BindList(); Label4.Text = "You selected: " + ((Label)DataList1.SelectedItem.FindControl("Label1")).Text; } void Button_Click(Object sender, EventArgs e) { if (DataList1.SelectedItem != null) { DataList1.SelectedItem.ForeColor = System.Drawing.Color.Red; } } </script> </head> <body> <form runat=server> <h3>DataList SelectedItem Example</h3> <p></p> <asp:DataList id="DataList1" runat="server" GridLines="Both" CellPadding="3" CellSpacing="0" OnItemCommand="DataList_ItemCommand"> <HeaderStyle BackColor="#aaaadd"> </HeaderStyle> <AlternatingItemStyle BackColor="Gainsboro"> </AlternatingItemStyle> <SelectedItemStyle BackColor="lightgreen"> </SelectedItemStyle> <HeaderTemplate> Items </HeaderTemplate> <ItemTemplate> <asp:LinkButton id="button1" Text="Select" CommandName="select" runat="server"/> <%# ((DataRowView)Container.DataItem)["Item"] %> </ItemTemplate> <SelectedItemTemplate> Item: <asp:Label id="Label1" Text='<%# ((DataRowView)Container.DataItem)["Item"] %>' runat="server"/> <br> Quantity: <asp:Label id="Label2" Text='<%# ((DataRowView)Container.DataItem)["Qty"] %>' runat="server"/> <br> Price: <asp:Label id="Label3" Text='<%# DataBinder.Eval(Container.DataItem, "Price") %>' runat="server"/> </SelectedItemTemplate> </asp:DataList> <br><br> <asp:Label id="Label4" runat="server"/> <br><br> <asp:Button id="Button2" Text="Change Text to Red" OnClick="Button_Click" runat="server"/> </form> </body> </html>
[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
See Also
DataList Class | DataList Members | System.Web.UI.WebControls Namespace | DataListItem | SelectedIndex | SelectedItemStyle | SelectedItemTemplate