Listing 1 The Edit method
protected override void Edit(CurrencyManager source, int rowNum, Rectangle bounds, bool isReadOnly, string instantText, bool cellIsVisible) { if (_inEdit) return; // The Link column is NOT editable but when in edit mode switches // to hyperlink mode if (cellIsVisible && !_inAbort) { ChangeEditMode(true); _llControl.SetBounds(bounds.X, bounds.Y, bounds.Width, bounds.Height); _llControl.Text = GetDisplayText(source, rowNum); // Define the link area (1 covering the whole string) _llControl.Links.Clear(); string url = (string) GetColumnValueAtRow(source, rowNum); _llControl.Links.Add(0, _llControl.Text.Length, url); _toolTip.SetToolTip(_llControl, url); _llControl.LinkClicked +=new LinkLabelLinkClickedEventHandler(_llControl_LinkClicked); } else { ChangeEditMode(false); _inAbort = false; } return; }