windowsforms-devexpress-dot-xtragantt-dot-customdrawtaskeventargs-dot-drawhtml-x28-devexpress-dot-utils-dot-html-dot-htmltemplate-system-dot-action-devexpress-dot-utils-dot-html-dot-dxhtmlpainterargs-x29.md
Paints the required HTML template inside an element that raised this event.
Namespace : DevExpress.XtraGantt
Assembly : DevExpress.XtraGantt.v25.2.dll
NuGet Package : DevExpress.Win.Gantt
public void DrawHtml(
HtmlTemplate template,
Action<DxHtmlPainterArgs> setupArgs = null
)
Public Sub DrawHtml(
template As HtmlTemplate,
setupArgs As Action(Of DxHtmlPainterArgs) = Nothing
)
| Name | Type | Description |
|---|---|---|
| template | HtmlTemplate |
A template to draw.
|
| Name | Type | Default | Description |
|---|---|---|---|
| setupArgs | Action<DxHtmlPainterArgs> | null |
Sets up required properties of the DxHtmlPainterArgs object.
|
The DrawHtml method allows you to paint custom HTML templates inside DevExpress controls. For instance, the code below illustrates how to handle the GridView.CustomDrawCell event to paint a template stored in an HtmlTemplateCollection inside cells that belong to the “Name” column.
void OnCustomDrawCell(object sender, RowCellCustomDrawEventArgs e) {
e.DefaultDraw();
e.Handled = true;
if (e.Column.FieldName == "Name")
e.DrawHtml(htmlTemplateCollection1[0]);
}
Private Sub OnCustomDrawCell(ByVal sender As Object, ByVal e As RowCellCustomDrawEventArgs)
e.DefaultDraw()
e.Handled = True
If e.Column.FieldName = "Name" Then e.DrawHtml(htmlTemplateCollection1(0))
End Sub
The optional setupArgs delegate allows you to set up additional settings: specify interactivity keys, modify drawing bounds, assign custom values to elements with ${FieldName} placeholders, and more.
The following example demonstrates how to clip the content based on the container bounds:
void OnCustomDrawCell(object sender, RowCellCustomDrawEventArgs e) {
var clipInfo = e.Cache.SaveAndSetClip(e.Bounds);
try {
e.DrawHtml(templates[0]);
} finally {
e.Cache.ClipInfo.RestoreClipRelease(clipInfo);
}
}
Private Sub OnCustomDrawCell(ByVal sender As Object, ByVal e As RowCellCustomDrawEventArgs)
Dim clipInfo = e.Cache.SaveAndSetClip(e.Bounds)
Try
e.DrawHtml(templates(0))
Finally
e.Cache.ClipInfo.RestoreClipRelease(clipInfo)
End Try
End Sub
Read the following topic for more information and examples: Custom Draw Templates.
See Also