HtmlDocument.CreateElement(String) メソッド

定義

指定した HTML タグの種類の新しい HtmlElement を作成します。

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

パラメーター

elementTag
String

作成する HTML 要素の名前。

戻り値

指定したタグの種類の新しい要素。

次のコード例では、Northwind データベースのデータを使用して、 を使用して CreateElementHTML テーブルを作成します。 AppendChildメソッドは、最初に行 ( 要素) にセル (TDTR 要素) を追加し、次に行をテーブルに追加し、最後にテーブルを現在のドキュメントの末尾に追加するためにも使用されます。 このコード例では、アプリケーションに というコントロールWebBrowser1が必要ですWebBrowser

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

注釈

elementTagは、 と IFRAMEを除きFRAME、インターネット エクスプローラーでサポートされている HTML タグのいずれかです。

CreateElement は、現在のドキュメント ツリーにアタッチされていない要素を返します。 要素をドキュメントに追加するには、 メソッドまたは AppendChild メソッドをInsertAdjacentElement使用します。

コントロールの [ソースの表示] コンテキスト メニュー コマンドまたは DocumentText コントロールの プロパティと DocumentStream プロパティをWebBrowser使用する場合、このメソッドは既存のドキュメントのソース コードの状態にはWebBrowser影響しません。

を使用して CreateElement新しい要素を作成すると、 などの Name特定のプロパティを設定できなくなります。 Name 属性を設定する必要がある場合は、ドキュメント内の別のオブジェクトの プロパティに InnerHtml HTML として割り当てます。

適用対象

こちらもご覧ください