Создать ячейку таблицы данных, которая может содержать несколько кликабельных ссылок? - PullRequest
3 голосов
/ 08 февраля 2012

Есть ли способ иметь столбец / ячейку в DataGridView, который может содержать несколько ссылок, по каждой из которых можно нажимать по отдельности?

Пример макета в Excel:

enter image description here

1 Ответ

1 голос
/ 08 февраля 2012

Посмотрите на код для DataGridViewLinkCell класса, используя инструмент, подобный ILSpy . Я бы подумал, что вам нужно создать собственную колонку просмотра данных, ячейку просмотра данных и, возможно, собственный контроль редактирования. ( Создание пользовательской ячейки и столбца NumericUpDown для элемента управления DataGridView содержит подробный пример этого).

  • вам нужно переопределить метод Paint для рисования ссылок по горизонтали.
  • Вам потребуется использовать шрифт ячейки, чтобы создать новый со свойством Underline , установленным в true.
  • Вам также потребуется переопределить OnMouseMove , чтобы изменить курсор, когда он находится над ссылкой.
  • Вам нужно переопределить OnMouseDown , чтобы определить, по какой ссылке они нажали

Опять же, DataGridViewLinkCell делает все это для одной ссылки плюс еще, поэтому я бы использовал этот код для класса в качестве отправной точки для ваших нужд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...