Я очень новичок в C #, и я действительно застрял.Я постараюсь быть кратким.
У меня есть некоторый ComboBox (в том же столбце) в DataGridView, и я хочу, чтобы пользователи могли печатать в ComboBox.Я получил его на половину работы ...
* Проблема 1: Когда я набираю его, хотя то, что я набрал, добавляется в список выбора в раскрывающемся списке, ComboBox становится пустым, и у меня естьчтобы повторно выбрать значение, которое я только что ввел.Как сделать так, чтобы введенное мной значение оставалось в качестве выделения и не оставлялось пустым.
* Проблема 2: Есть ли способ сделать определенный ComboBox недоступным для редактирования в том же столбце?Мой код, кажется, делает весь мой пользователь ComboBox редактируемым.Как я могу сделать некоторые исключения ComboBox?
Заранее большое спасибо, если бы вы могли помочь!
Вот коды:
private void dm_dgview_add_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control.GetType() == typeof(DataGridViewComboBoxEditingControl))
{
DataGridViewComboBoxEditingControl combo = e.Control as DataGridViewComboBoxEditingControl;
combo.DropDownStyle = ComboBoxStyle.DropDown;
combo.TextChanged += new EventHandler(combo_TextChanged);
}
}
void combo_TextChanged(object sender, EventArgs e)
{
dm_dgview_add.NotifyCurrentCellDirty(true);
}
private void dm_dgview_add_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
DataGridViewComboBoxCell cell = dm_dgview_add.CurrentCell as DataGridViewComboBoxCell;
if (cell != null && e.ColumnIndex == dm_dgview_add.Columns[1].Index)
{
if (!cell.Items.Contains(e.FormattedValue) && e.FormattedValue != null)
{
cell.Items.Add(e.FormattedValue);
}
}
}
Пожалуйста, помогите, яочень ценю это!