c # комбинированный список в datagridview - PullRequest
1 голос
/ 06 сентября 2011

Я использую datagridviewcomboboxcell для отображения значений.Я хотел бы, чтобы это значение в ячейках было int.Но: когда я открываю поле со списком, я хочу видеть описание каждого элемента в поле со списком.Когда я выбираю один, значение изменяется (поле со списком закрыто), и видимое значение только int.У кого-нибудь есть идеи, как это сделать?

Нравится: выбранный предмет: 2

Расширенный комбинированный список: 0 - ен 1 - должный 2 - риск 3 - поддельный Спасибо за помощь.

Ответы [ 2 ]

1 голос
/ 06 сентября 2011

Даже если вы найдете способ установить TextField и ValueField, я серьезно сомневаюсь, что у вас будет отображаться другой текст, пока элемент управления отображает раскрывающийся список (число и текст), а также когда он свернут и отображается только как раскрывающийся список. (только номер).

то, что вы спрашиваете, имеет смысл, конечно, но вы не запустите его без усилий, просто установив несколько свойств.

Чтобы обработать это в формах Windows, вы должны перехватить событие: EditingControlShowing и там, для ComboBox, указать пользовательские значения для элемента управления, вот отправная точка:

 void dataGridView1_EditingControlShowing(object sender,
            DataGridViewEditingControlShowingEventArgs e)
        {
            if (e.Control is ComboBox)
            {
                ComboBox cmb = e.Control as ComboBox;

                // here you can work on the ComboBox...
            }
        }

для более подробной информации проверьте здесь: DataGridView.EditingControlShowing Event

0 голосов
/ 06 сентября 2011

Вам необходимо установить свойство ValueMember, чтобы любое свойство в вашем объекте было идентификатором.Чтобы установить видимый текст, присвойте свой объект, который вы хотите видеть видимым, свойству DisplayMember.Если эта сетка данных привязана к записи базы данных или к какому-либо виду, упомянутые выше свойства должны быть именами полей таблицы, которые вы хотите связать.

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