Back to Devexpress

BaseOptionsView.AllowHtmlText Property

windowsforms-devexpress-dot-xtraverticalgrid-dot-baseoptionsview.md

latest9.0 KB
Original Source

BaseOptionsView.AllowHtmlText Property

Gets or sets whether row captions (and record headers in the VGridControl) can be formatted using HTML tags.

Namespace : DevExpress.XtraVerticalGrid

Assembly : DevExpress.XtraVerticalGrid.v25.2.dll

NuGet Packages : DevExpress.Win.Navigation, DevExpress.Win.VerticalGrid

Declaration

csharp
[DefaultValue(false)]
[XtraSerializableProperty]
public virtual bool AllowHtmlText { get; set; }
vb
<DefaultValue(False)>
<XtraSerializableProperty>
Public Overridable Property AllowHtmlText As Boolean

Property Value

TypeDefaultDescription
Booleanfalse

true if row captions and record headers can be formatted using HTML tags; otherwise, false.

|

Property Paths

You can access this nested property as listed below:

Object TypePath to AllowHtmlText
VGridControlBase

.OptionsView .AllowHtmlText

|

Remarks

Enable the control’s OptionsView.AllowHtmlText property to use HTML tags to format display text of the following elements:

You can use HTML tags to insert hyperlinks in row captions/record headers. The default behavior is to display hyperlinks, but do not activate them on mouse events.

Set the control’s OptionsBehavior.HyperlinkClickMode property to Click to allow users to activate hyperlinks on a mouse click. Set this property to CtrlClick to activate hyperlinks on a mouse click combined with the CTRL key.

Handle the HyperlinkClick event to perform actions when a hyperlink is activated.

Example

In the following example, a Vertical Grid’s record headers contain hyperlinks that display employees’ e-mails. The VGridOptionsBehavior.HyperlinkClickMode property is set to CtrlClick to allow users to activate hyperlinks on a mouse click when the CTRL key is pressed down. The VGridControlBase.HyperlinkClick event handler starts a process that opens a clicked hyperlink.

csharp
private void Form1_Load(object sender, EventArgs e) {
    BindingList<Message> list = new BindingList<Message>();
    list.Add(new Message() { Date = DateTime.Now, Email = "[email protected]", From = "John Heart", PlainText = "Hello All Please remember that I’ve rescheduled...", Subject = "DevAV Annual Performance Review" });
    list.Add(new Message() { Date = DateTime.Now, Email = "[email protected]", From = "Violet Bailey", PlainText = "Good Day Morgan I’ve been asked by the sales team...", Subject = "Artwork for packaging" });
    vGridControl1.DataSource = list;
    vGridControl1.OptionsView.ShowRecordHeaders = true;
    vGridControl1.OptionsView.AllowHtmlText = true;
    vGridControl1.RecordHeaderFormat = "<b>{From}</b>
<a href=mailto:{Email}>{Email}</a>";
    vGridControl1.Appearance.RecordHeader.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
    vGridControl1.RecordWidth = 150;
    vGridControl1.OptionsBehavior.HyperlinkClickMode = DevExpress.Utils.Drawing.HyperlinkClickMode.CtrlClick;
    vGridControl1.HyperlinkClick += VGridControl1_HyperlinkClick;
}

private void VGridControl1_HyperlinkClick(object sender, DevExpress.XtraVerticalGrid.Events.HyperlinkClickEventArgs e) {
    if (e.Link.StartsWith("mailto:"))
        System.Diagnostics.Process.Start(e.Link);
}

public class Message {
    public DateTime Date { get; set; }
    public string From { get; set; }
    public string Email { get; set; }
    public string Subject { get; set; }
    public string PlainText { get; set; }
}
vb
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim list As New BindingList(Of Message)()
    list.Add(New Message() With {.Date = DateTime.Now, .Email = "[email protected]", .From = "John Heart", .PlainText = "Hello All Please remember that I’ve rescheduled...", .Subject = "DevAV Annual Performance Review"})
    list.Add(New Message() With {.Date = DateTime.Now, .Email = "[email protected]", .From = "Violet Bailey", .PlainText = "Good Day Morgan I’ve been asked by the sales team...", .Subject = "Artwork for packaging"})
    VGridControl1.DataSource = list
    VGridControl1.OptionsView.ShowRecordHeaders = True
    VGridControl1.OptionsView.AllowHtmlText = True
    VGridControl1.RecordHeaderFormat = "<b>{From}</b>
<a href=mailto:{Email}>{Email}</a>"
    VGridControl1.Appearance.RecordHeader.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap
    VGridControl1.RecordWidth = 150
    VGridControl1.OptionsBehavior.HyperlinkClickMode = DevExpress.Utils.Drawing.HyperlinkClickMode.CtrlClick
    AddHandler VGridControl1.HyperlinkClick, AddressOf VGridControl1_HyperlinkClick
End Sub

Private Sub VGridControl1_HyperlinkClick(ByVal sender As Object, ByVal e As DevExpress.XtraVerticalGrid.Events.HyperlinkClickEventArgs)
    If e.Link.StartsWith("mailto:") Then
        System.Diagnostics.Process.Start(e.Link)
    End If
End Sub

Public Class Message
    Public Property Date As DateTime
    Public Property From() As String
    Public Property Email() As String
    Public Property Subject() As String
    Public Property PlainText() As String
End Class

Example

The code below enables HTML formatting, and specifies bold text for a row’s caption.

csharp
vGridControl1.OptionsView.AllowHtmlText = true;
rowLastName.Properties.Caption = "<b>Last Name</b>";
vb
vGridControl1.OptionsView.AllowHtmlText = True
rowLastName.Properties.Caption = "<b>Last Name</b>"

Tip

Handle the VGridControlBase.CustomDrawRowHeaderCell event and use the CustomDrawRowHeaderCellEventArgs.AllowHtmlText event parameter to enable HTML tags for individual row headers according to your logic.

See Also

VGridOptionsRow.AllowHtmlText

CustomDrawRowHeaderCellEventArgs.AllowHtmlText

Caption

HyperlinkClick

HyperlinkClickMode

ShowRecordHeaders

RecordHeaderFormat

Records

HTML-inspired Text Formatting

BaseOptionsView Class

BaseOptionsView Members

DevExpress.XtraVerticalGrid Namespace