HtmlDocument.CreateElement(String) Method

Definition

Creates a new HtmlElement of the specified HTML tag type.

C#
public System.Windows.Forms.HtmlElement CreateElement(string elementTag);
C#
public System.Windows.Forms.HtmlElement? CreateElement(string elementTag);

Parameters

elementTag
String

The name of the HTML element to create.

Returns

A new element of the specified tag type.

Examples

The following code example uses data from the Northwind database to create an HTML table using CreateElement. The AppendChild method is also used, first to add cells (TD elements) to rows (TR elements), then to add rows to the table, and finally to append the table to the end of the current document. The code example requires that your application has a WebBrowser control called WebBrowser1.

C#
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);
            }
        }
    }
}

Remarks

elementTag may be any of the supported HTML tags in Internet Explorer except for FRAME and IFRAME.

CreateElement returns an element unattached to the current document tree. To add the element to the document, use either the InsertAdjacentElement or AppendChild methods.

This method will not affect the state of an existing document's source code when you use the WebBrowser control's View Source context menu command or the DocumentText and DocumentStream properties of the WebBrowser control.

When you create new elements with CreateElement, you will not be able to set certain properties, such as Name. In cases where you need to set the Name attribute, assign them as HTML to the InnerHtml property of another object in the document.

Applies to

Product Versions
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

See also