DataList.SelectedItem Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene l'elemento selezionato nel controllo DataList.
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; }
[<System.ComponentModel.Browsable(false)>]
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.
- Attributi
Esempio
Nell'esempio di codice seguente viene illustrato come usare la SelectedItem proprietà per visualizzare il contenuto dell'elemento selezionato nel DataList controllo.
Nota
L'esempio di codice seguente usa il modello di codice a file singolo e potrebbe non funzionare correttamente se copiato direttamente in un file code-behind. Questo esempio di codice deve essere copiato in un file di testo vuoto con un'estensione .aspx. Per altre informazioni sul modello di codice Web Forms, vedere ASP.NET modello di codice della pagina Web Forms.
<%@ 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 l'elemento selezionato nel DataList controllo. Questo oggetto può quindi essere usato per accedere alle proprietà dell'elemento selezionato.