Skip to main content

XRControl.HtmlItemCreated Event

Occurs when a new item used for a Web representation of the control is created.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v24.2.dll

NuGet Package: DevExpress.Reporting.Core

Declaration

public virtual event HtmlEventHandler HtmlItemCreated

Event Data

The HtmlItemCreated event's data class is HtmlEventArgs. The following properties provide information specific to this event:

Property Description
Brick Gets a visual brick that represents the content of the currently processed item on a report page.
ContentCell Gets the content of the currently processed item.
ScriptContainer Gets an object that implements the IScriptContainer interface and is used for registering the scripts and styles in the current HTML document.

Remarks

This event is used for creating a customized view of controls on a Web page.

Example

The following example demonstrates how to use the XRControl.HtmlItemCreated event to customize the content of an XRLabel control, when a report is exported to HTML. In the event handler, create two custom HTML elements, which will display a check box and a hyperlink on a Web page, and add them to the control’s content using the HtmlEventArgs.ContentCell property of the event parameter.

Follow the steps below to create a sample project.

  1. Start Visual Studio and create a new Windows Forms Application or open an existing one.
  2. Add a new report (named XtraReport1) to the application.
  3. Drop an XRLabel control onto a report and handle its HtmlItemCreated event as follows.

    using DevExpress.XtraPrinting.HtmlExport;
    using DevExpress.XtraPrinting.HtmlExport.Controls;
    using DevExpress.XtraReports.UI;
    // ...
    
    private void xrLabel1_HtmlItemCreated(object sender, HtmlEventArgs e) {
        // Clear content of the currently processed item.
        e.ContentCell.Controls.Clear();
    
        // Create a check box. 
        DXHtmlGenericControl checkBox = new DXHtmlGenericControl(DXHtmlTextWriterTag.Input);
        checkBox1.Attributes["checked"] = "true";
        checkBox1.Attributes["type"] = "CheckBox";
    
        // Create a hyperlink. 
        DXHtmlAnchor hypLink = new DXHtmlAnchor();
        hypLink.InnerText = "XtraReports Web Page";
        hypLink.HRef = "https://www.devexpress.com/Subscriptions/Reporting/";
    
        // Add the created elements to the item's content. 
        e.ContentCell.Controls.Add(checkBox);
        e.ContentCell.Controls.Add(hypLink);
    }
    

Then, to export a report to HTML, you can use code similar to the following.

using System;
using System.Windows.Forms;
using System.Diagnostics;
// ...

private void ExportToHTML() {
    XtraReport1 report = new XtraReport1();
    report.ExportToHtml("Test.html");
    StartProcess("Test.html");
}

public void StartProcess(string path) {
    Process process = new Process();
    try {
        process.StartInfo.FileName = path;
        process.Start();
        process.WaitForInputIdle();
    }
    catch { }
}
See Also