У меня есть DataGridViewComboBoxColumn, где я должен отображать значения, отличные от выбранных, очень похоже на то, что происходит в этом вопросе:
DataGridViewComboBoxColumn имя / значение как?
В моем случае я отображаю списки оборудования, которые имеют идентификатор и описание. Итак, мой связанный класс данных выглядит так:
public class AURecord
{
// member vars and constructors omitted for brevity
public string ID { get { return _id; } }
public string Description { get { return _description; } }
public string FullDescription
{
get { return string.Format("{0} - {1}", _id, _description); }
}
}
Итак, у меня DisplayMember и ValueMember настроены на FullDescription и ID соответственно. Пока все хорошо.
Проблема в том, что требования требуют, чтобы FullDescription отображалось в раскрывающемся списке, но после выбора в текстовом поле должен отображаться только идентификатор (описание должно отображаться в соседний столбец только для чтения, и у меня это тоже работает).
Я надеюсь на решение, которое включает в себя только изменение некоторых свойств объекта DataGridViewComboBoxColumn в моей сетке, хотя я боюсь, что ответ будет больше похож на создание подкласса DataGridViewComboBoxColumn и выполнение множества перегрузок (тьфу). ..