Как контролировать тип столбца в DataGridView, который связан с CustomObject?

2

У меня есть DataGridView в приложении С# WinForms, которое является DataBound во время выполнения (через Form_Load) для пользовательского объекта.
В представлении дизайна DataGridView у меня нет настроенных столбцов.
Когда Form загружает столбцы, они автоматически создаются на основе данных в пользовательском объекте, к которому относится DataBound.
Мой вопрос в том, как я могу управлять создаваемыми автоматически столбцами. Например, если я хочу, чтобы один из столбцов был DataGridViewLinkColumn вместо DataGridViewTextBoxColumn, который автоматически создается?

  • 0
    Не пропустите MSDN
Теги:
winforms
datagridview

2 ответа

3
Лучший ответ

По умолчанию столбцы основаны на типе данных. Я не проверял, но для ссылки вы можете попытаться разоблачить данные как Uri, но это может быть обнадеживающим. Действительно, если вам нужен определенный тип столбца - добавьте столбцы через код и установите DataGridView.AutoGenerateColumns на false.

Как предполагает Эндрю; обычно для создания столбцов используется что-то вроде отражения, и вы получите столбец для каждого (доступного для просмотра + общедоступного + читаемого) свойства. Если вам нужно, есть слой абстракции, но это не поможет добавить столбец гиперссылки.

  • 0
    +1 Вы можете упомянуть, что отражение используется для автоматической генерации столбцов.
  • 0
    @ Андрей - строго говоря, это не так ;-p
Показать ещё 3 комментария
1

Вы можете предварительно создать свои столбцы в дизайнере. Если имя столбца совпадает с именем свойства, которому столкнулся столбец, привязка данных позаботится о вас, как и раньше, о DGV-популяции.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню