DataList.SelectedItem Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает выбранный элемент в элементе управления 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
Значение свойства
Объект DataListItem, представляющий выбранный элемент в элементе управления DataList.
- Атрибуты
Примеры
В следующем примере кода показано, как использовать SelectedItem свойство для отображения содержимого выбранного элемента в элементе DataList управления .
Примечание
В следующем примере кода используется однофайловая модель кода, и при копировании непосредственно в файл кода программной части может работать неправильно. Этот пример кода необходимо скопировать в пустой текстовый файл с расширением .aspx. Дополнительные сведения о модели кода веб-форм см. в разделе модель кода веб-форм ASP.NET.
<%@ 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>
Комментарии
Используйте свойство , SelectedItem чтобы получить DataListItem объект , представляющий выбранный элемент в элементе DataList управления . Затем этот объект можно использовать для доступа к свойствам выбранного элемента.