ListView.ItemDataBound Gebeurtenis
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Treedt op wanneer een gegevensitem is gebonden aan gegevens in een ListView besturingselement.
public:
event EventHandler<System::Web::UI::WebControls::ListViewItemEventArgs ^> ^ ItemDataBound;
public event EventHandler<System.Web.UI.WebControls.ListViewItemEventArgs> ItemDataBound;
member this.ItemDataBound : EventHandler<System.Web.UI.WebControls.ListViewItemEventArgs>
Public Custom Event ItemDataBound As EventHandler(Of ListViewItemEventArgs)
Gebeurtenistype
Voorbeelden
In het volgende voorbeeld ziet u hoe u de ItemDataBound gebeurtenis gebruikt.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
// <Snippet2>
protected void ContactsListView_ItemDataBound(object sender, ListViewItemEventArgs e)
{
Label EmailAddressLabel;
if (e.Item.ItemType == ListViewItemType.DataItem)
{
// Display the email address in italics.
EmailAddressLabel = (Label)e.Item.FindControl("EmailAddressLabel");
EmailAddressLabel.Font.Italic = true;
System.Data.DataRowView rowView = e.Item.DataItem as System.Data.DataRowView;
string currentEmailAddress = rowView["EmailAddress"].ToString();
if (currentEmailAddress == "orlando0@adventure-works.com")
{
EmailAddressLabel.Font.Bold = true;
}
}
}
// </Snippet2>
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>ListView ItemDataBound Example</title>
</head>
<body style="font: 10pt Trebuchet MS">
<form id="form1" runat="server">
<h3>
ListView ItemDataBound Example</h3>
<asp:ListView ID="ContactsListView" DataSourceID="ContactsDataSource" ConvertEmptyStringToNull="true"
OnItemDataBound="ContactsListView_ItemDataBound" runat="server">
<LayoutTemplate>
<table cellpadding="2" width="680px" border="0">
<tr style="background-color: #ADD8E6" runat="server">
<th runat="server">
First Name
</th>
<th runat="server">
Last Name
</th>
<th runat="server">
Email Address
</th>
</tr>
<tr runat="server" id="itemPlaceholder" />
</table>
<asp:DataPager runat="server" ID="PeopleDataPager" PageSize="12">
<Fields>
<asp:NumericPagerField ButtonCount="10" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr style="background-color: #CAEEFF" runat="server">
<td>
<asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' />
</td>
<td>
<asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' />
</td>
<td>
<asp:Label ID="EmailAddressLabel" runat="server" Text='<%#Eval("EmailAddress") %>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="ContactsDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:AdventureWorksConnectionString %>"
SelectCommand="SELECT FirstName, LastName, EmailAddress FROM SalesLT.Customer">
</asp:SqlDataSource>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
' <Snippet2>
Protected Sub ContactsListView_ItemDataBound(ByVal sender As Object, _
ByVal e As ListViewItemEventArgs)
If e.Item.ItemType = ListViewItemType.DataItem Then
' Display the email address in italics.
Dim EmailAddressLabel As Label = _
CType(e.Item.FindControl("EmailAddressLabel"), Label)
EmailAddressLabel.Font.Italic = True
Dim rowView As System.Data.DataRowView
rowView = CType(e.Item.DataItem, System.Data.DataRowView)
Dim currentEmailAddress As String = rowView("EmailAddress").ToString()
If currentEmailAddress = "orlando0@adventure-works.com" Then
EmailAddressLabel.Font.Bold = True
End If
End If
End Sub
' </Snippet2>
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>ListView ItemDataBound Example</title>
</head>
<body style="font: 10pt Trebuchet MS">
<form id="form1" runat="server">
<h3>
ListView ItemDataBound Example</h3>
<asp:ListView ID="ContactsListView" DataSourceID="ContactsDataSource" ConvertEmptyStringToNull="true"
OnItemDataBound="ContactsListView_ItemDataBound" runat="server">
<layouttemplate>
<table cellpadding="2" width="680px" border="0">
<tr style="background-color: #ADD8E6" runat="server">
<th runat="server">First Name</th>
<th runat="server">Last Name</th>
<th runat="server">Email Address</th>
</tr>
<tr runat="server" id="itemPlaceholder" />
</table>
<asp:DataPager runat="server" ID="PeopleDataPager" PageSize="12">
<Fields>
<asp:NumericPagerField ButtonCount="10" />
</Fields>
</asp:DataPager>
</layouttemplate>
<itemtemplate>
<tr style="background-color: #CAEEFF" runat="server">
<td>
<asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' />
</td>
<td>
<asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' />
</td>
<td>
<asp:Label ID="EmailAddressLabel" runat="server" Text='<%#Eval("EmailAddress") %>' />
</td>
</tr>
</itemtemplate>
</asp:ListView>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="ContactsDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:AdventureWorksConnectionString %>"
SelectCommand="SELECT FirstName, LastName, EmailAddress FROM SalesLT.Customer">
</asp:SqlDataSource>
</form>
</body>
</html>
Opmerkingen
Voordat het ListView besturingselement kan worden weergegeven, moet elk item in het besturingselement zijn gebonden aan een record in de gegevensbron. De ItemDataBound gebeurtenis wordt gegenereerd wanneer een gegevensitem is gebonden aan gegevens in het ListView besturingselement. (Gegevensitems worden vertegenwoordigd door ListViewDataItem objecten.) Hiermee kunt u een aangepaste routine uitvoeren wanneer deze gebeurtenis plaatsvindt, zoals het wijzigen van de waarden van de gegevens die aan het item zijn gebonden.
Er wordt een ListViewItemEventArgs object doorgegeven aan de gebeurtenis-handler, waarmee u toegang hebt tot de eigenschappen van het item dat is gebonden. Als u toegang wilt krijgen tot een specifiek besturingselement in het item, gebruikt u de FindControl methode van het ListViewItem object dat is opgenomen in de Item eigenschap van het ListViewItemEventArgs object. U kunt bepalen welk itemtype (gegevensitem, item invoegen, leeg item) afhankelijk is met behulp van de ItemType eigenschap.
Zie Gebeurtenissen verwerken en genereren voor meer informatie over het afhandelen van gebeurtenissen.