HtmlDocument.CreateElement(String) Methode

Definitie

Hiermee maakt u een nieuw HtmlElement van het opgegeven HTML-tagtype.

public:
 System::Windows::Forms::HtmlElement ^ CreateElement(System::String ^ elementTag);
public System.Windows.Forms.HtmlElement CreateElement(string elementTag);
public System.Windows.Forms.HtmlElement? CreateElement(string elementTag);
member this.CreateElement : string -> System.Windows.Forms.HtmlElement
Public Function CreateElement (elementTag As String) As HtmlElement

Parameters

elementTag
String

De naam van het HTML-element dat moet worden gemaakt.

Retouren

Een nieuw element van het opgegeven tagtype.

Voorbeelden

In het volgende codevoorbeeld worden gegevens uit de Northwind-database gebruikt om een HTML-tabel te maken met behulp van CreateElement. De AppendChild methode wordt ook gebruikt, eerst om cellen (TD elementen) toe te voegen aan rijen (TR elementen), vervolgens rijen aan de tabel toe te voegen en ten slotte de tabel toe te voegen aan het einde van het huidige document. Het codevoorbeeld vereist dat uw toepassing een besturingselement heeft met de WebBrowser naam WebBrowser1.

private void DisplayCustomersTable()
{
    DataSet customersSet = new DataSet();
    DataTable customersTable = null;
    SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM Customers", "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;");
    sda.Fill(customersTable);
    customersTable = customersSet.Tables[0];

    if (webBrowser1.Document != null)
    {
        HtmlElement tableRow = null;
        HtmlElement headerElem = null;

        HtmlDocument doc = webBrowser1.Document;
        HtmlElement tableElem = doc.CreateElement("TABLE");
        doc.Body.AppendChild(tableElem);

        HtmlElement tableHeader = doc.CreateElement("THEAD");
        tableElem.AppendChild(tableHeader);
        tableRow = doc.CreateElement("TR");
        tableHeader.AppendChild(tableRow);

        foreach (DataColumn col in customersTable.Columns)
        {
            headerElem = doc.CreateElement("TH");
            headerElem.InnerText = col.ColumnName;
            tableRow.AppendChild(headerElem);
        }

        // Create table rows.
        HtmlElement tableBody = doc.CreateElement("TBODY");
        tableElem.AppendChild(tableBody);
        foreach (DataRow dr in customersTable.Rows)
        {
            tableRow = doc.CreateElement("TR");
            tableBody.AppendChild(tableRow);
            foreach (DataColumn col in customersTable.Columns)
            {
                Object dbCell = dr[col];
                HtmlElement tableCell = doc.CreateElement("TD");
                if (!(dbCell is DBNull))
                {
                    tableCell.InnerText = dbCell.ToString();
                }
                tableRow.AppendChild(tableCell);
            }
        }
    }
}
Private Sub DisplayCustomersTable()
    ' Initialize the database connection.
    Dim CustomerData As New DataSet()
    Dim CustomerTable As DataTable

    Try
        Dim DBConn As New SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;")
        Dim DBQuery As New SqlDataAdapter("SELECT * FROM CUSTOMERS", DBConn)
        DBQuery.Fill(CustomerData)
    Catch dbEX As DataException

    End Try

    CustomerTable = CustomerData.Tables("Customers")

    If (Not (WebBrowser1.Document Is Nothing)) Then
        With WebBrowser1.Document
            Dim TableElem As HtmlElement = .CreateElement("TABLE")
            .Body.AppendChild(TableElem)

            Dim TableRow As HtmlElement

            ' Create the table header.
            Dim TableHeader As HtmlElement = .CreateElement("THEAD")
            TableElem.AppendChild(TableHeader)
            TableRow = .CreateElement("TR")
            TableHeader.AppendChild(TableRow)

            Dim HeaderElem As HtmlElement
            For Each Col As DataColumn In CustomerTable.Columns
                HeaderElem = .CreateElement("TH")
                HeaderElem.InnerText = Col.ColumnName
                TableRow.AppendChild(HeaderElem)
            Next

            ' Create table rows.
            Dim TableBody As HtmlElement = .CreateElement("TBODY")
            TableElem.AppendChild(TableBody)
            For Each Row As DataRow In CustomerTable.Rows
                TableRow = .CreateElement("TR")
                TableBody.AppendChild(TableRow)
                For Each Col As DataColumn In CustomerTable.Columns
                    Dim Item As Object = Row(Col)
                    Dim TableCell As HtmlElement = .CreateElement("TD")
                    If Not (TypeOf (Item) Is DBNull) Then
                        TableCell.InnerText = CStr(Item)
                    End If
                    TableRow.AppendChild(TableCell)
                Next
            Next

        End With
    End If
End Sub

Opmerkingen

elementTag kunnen een van de ondersteunde HTML-tags in Internet Explorer zijn, met uitzondering van FRAME en IFRAME.

CreateElement retourneert een element dat niet is gekoppeld aan de huidige documentstructuur. Als u het element aan het document wilt toevoegen, gebruikt u de InsertAdjacentElement of AppendChild methoden.

Deze methode heeft geen invloed op de status van de broncode van een bestaand document wanneer u de contextmenuopdracht WebBrowser van het besturingselement of de DocumentText eigenschappen DocumentStream van het WebBrowser besturingselement gebruikt.

Wanneer u nieuwe elementen maakt, CreateElementkunt u bepaalde eigenschappen, zoals Name. In gevallen waarin u het kenmerk Naam moet instellen, wijst u deze toe als HTML aan de InnerHtml eigenschap van een ander object in het document.

Van toepassing op

Zie ook