Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

ListView.ItemDataBound-Ereignis

 

Veröffentlicht: Oktober 2016

Tritt auf, wenn ein Datenelement, auf Daten in gebunden ist einem ListView Steuerelement.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web.Extensions (in System.Web.Extensions.dll)

public event EventHandler<ListViewItemEventArgs> ItemDataBound

Bevor Sie die ListView -Steuerelement gerendert werden kann, muss jedes Element im Steuerelement an einen Datensatz in der Datenquelle gebunden werden. Das ItemDataBound -Ereignis wird ausgelöst, wenn ein Datenelement, auf Daten in gebunden ist der ListView Steuerelement. (Datenelemente werden durch dargestellt ListViewDataItem Objekte.) Dadurch können Sie eine benutzerdefinierte Routine durchführen, wenn dieses Ereignis auftritt, z. B. die Änderung der Daten, die an das Element gebunden ist.

Ein ListViewItemEventArgs Objekt übergeben wird, an den Ereignishandler, können Sie die Eigenschaften des Elements zuzugreifen, das gebunden wird. Um ein bestimmtes Steuerelement im Element zuzugreifen, verwenden die FindControl Methode der ListViewItem -Objekt, das in enthalten ist die Item Eigenschaft der ListViewItemEventArgs Objekt. Sie können bestimmen, welcher Elementtyp (Datenelement, einzufügendes Element, leeres Element) gebunden wird mithilfe der ItemType Eigenschaft.

Weitere Informationen zum Behandeln von Ereignissen finden Sie unter NIB: Behandeln von Ereignissen.

Im folgenden Beispiel wird die Verwendung des ItemDataBound-Ereignisses veranschaulicht.


<%@ 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">

    protected void ContactsListView_ItemDataBound(object sender, ListViewItemEventArgs e)
    {
        Label EmailAddressLabel;
        if (e.Item.ItemType == ListViewItemType.DataItem)
        {
            // Display the e-mail 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;
            }
        }
    }

</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">
                        E-mail 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>

.NET Framework
Verfügbar seit 3.5
Zurück zum Anfang
Anzeigen: