DataList.SelectedItem DataList.SelectedItem DataList.SelectedItem DataList.SelectedItem Property

Definizione

Ottiene l'elemento selezionato nel controllo DataList.Gets the selected item in the DataList control.

public:
 virtual property System::Web::UI::WebControls::DataListItem ^ SelectedItem { System::Web::UI::WebControls::DataListItem ^ get(); };
[System.ComponentModel.Browsable(false)]
public virtual System.Web.UI.WebControls.DataListItem SelectedItem { get; }
member this.SelectedItem : System.Web.UI.WebControls.DataListItem
Public Overridable ReadOnly Property SelectedItem As DataListItem

Valore della proprietà

Oggetto DataListItem che rappresenta l'elemento selezionato nel controllo DataList.A DataListItem that represents the item selected in the DataList control.

Esempi

Nell'esempio di codice riportato di seguito viene illustrato SelectedItem come utilizzare la proprietà per visualizzare il contenuto dell'elemento selezionato DataList nel controllo.The following code example demonstrates how to use the SelectedItem property to display the contents of the selected item in the DataList control.

Nota

Nell'esempio di codice seguente viene utilizzato il modello di codice a file singolo e potrebbe non funzionare correttamente se copiato direttamente in un file code-behind.The following code sample uses the single-file code model and may not work correctly if copied directly into a code-behind file. Questo esempio di codice deve essere copiato in un file di testo vuoto con estensione aspx.This code sample must be copied into an empty text file that has an .aspx extension. Per ulteriori informazioni sul modello di codice Web Form, vedere il modello di codice della pagina Web form ASP.NET.For more information on the Web Forms code model, see ASP.NET Web Forms Page Code Model.

<%@ 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" >
<head>
    <title>DataList SelectedItem Example</title>
<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 id="form1" 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>

<%@ 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" >
<head>
    <title>DataList SelectedItem Example</title>
<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 id="form1" 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>

Commenti

Utilizzare la SelectedItem proprietà per ottenere un DataListItem oggetto che rappresenta DataList l'elemento selezionato nel controllo.Use the SelectedItem property to get a DataListItem object that represents the selected item in the DataList control. Questo oggetto può quindi essere utilizzato per accedere alle proprietà dell'elemento selezionato.This object can then be used to access the properties of the selected item.

Si applica a

Vedi anche