windowsforms-devexpress-dot-xtraverticalgrid-dot-vgridcontrolbase-6d108acf.md
Fires when a hyperlink in a row header or record header is activated.
Namespace : DevExpress.XtraVerticalGrid
Assembly : DevExpress.XtraVerticalGrid.v25.2.dll
NuGet Packages : DevExpress.Win.Navigation, DevExpress.Win.VerticalGrid
[DXCategory("Action")]
public event EventHandler<VGridHyperlinkClickEventArgs> HyperlinkClick
<DXCategory("Action")>
Public Event HyperlinkClick As EventHandler(Of VGridHyperlinkClickEventArgs)
The HyperlinkClick event's data class is DevExpress.XtraVerticalGrid.Events.VGridHyperlinkClickEventArgs.
The control’s OptionsView.AllowHtmlText property enables the use of HTML tags to format text in the following elements:
Row captions (row.Properties.Caption) in the VGridControl and PropertyGridControl.
Record headers in the VGridControl.
You can use HTML tags to insert hyperlinks. The default behavior is to display hyperlinks, but restrict their activation 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 control’s HyperlinkClick event to perform actions when a hyperlink is activated.
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.
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; }
}
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
See Also