Установить выбранный элемент в DataGridViewComboboxColumn

У меня есть datagridview со столбцом DataGridViewComboboxColumn с 3 значениями:

"Маленький Средний Большой"

Я возвращаю настройки пользователей по умолчанию, в данном случае это "Средний"

Я хочу показать раскрывающуюся ячейку в datagridview, но по умолчанию установлено значение «Средний». Я бы сделал это в обычном поле со списком, выполнив выбранный индекс или просто указав свойство Text поля со списком.


person leora    schedule 18.09.2008    source источник


Ответы (4)


Когда вы попадаете в datagridview, вероятно, лучше всего перейти к привязке данных. Это позаботится обо всем выбранном индексе, о котором вы говорите.

Однако, если вы хотите попасть туда самостоятельно,

DataGridView.Rows[rowindex].Cells[columnindex].Value 

позволит вам получить и установить значение, связанное с DataGridViewComboBoxColumn. Просто убедитесь, что вы указали правильные rowindex и columnindex вместе с установкой значения для правильного типа (того же типа, что и свойство ValueMember DataGridViewComboBoxColumn).

person Community    schedule 03.04.2009
comment
Это работает, но отражается только после того, как я выхожу из указанной ячейки, для которой устанавливается значение. - person IsmailS; 21.10.2010
comment
Спасибо, потратил много времени, возвращаясь к DataGridViewComboBoxColumn и пытаясь найти мое значение - person James; 16.02.2011

Вы извлекаете данные пользователя и пытаетесь установить значения в DataGridView вручную, или вы действительно связали DataGridVew с источником данных? Поскольку, если вы привязали сетку к источнику данных, вам просто нужно установить DataPropertyName в столбце как строковое имя свойства объекта:

[DataGridViewComboboxColumnName].DataPropertyName = "PropertyNameToBindTo";

Или вы хотите, чтобы по умолчанию для новой строки было установлено значение «Средний»?

person Community    schedule 18.09.2008
comment
Я добавляю значения программно, используя items.AddRange - person leora; 18.09.2008

Для выполнения этой задачи вы должны сделать что-то вроде этого: -

          this.dataGridViewStudentInformation.Columns[ColumnIndex].DataPropertyName = dataGridViewStudentInformation.Columns[2].Name ; //Set the ColumnName to which you want to bind.  

И установите значение по умолчанию в базе данных как Medium.

person Sandeep Pathak    schedule 28.08.2010

person    schedule
comment
Пожалуйста, не публикуйте код просто так. Дайте объяснение, информацию или использование вашего кода. Например, см. этот ответ. - person Nazik; 24.12.2013