2013-10-09 5 views
1

У меня возникла проблема с универсальными Comboboxes внутри DGV. После того, как пользователь выберет значение из выпадающего списка, которое он выбрал уже ранее, конкретная строка должна стать доступной только для чтения. Просто установка полной строки только для чтения приводит к исключению из Windows.Forms.dll. Проблема в том, что combobox нельзя установить только для чтения.C# Сделать Combobox внутри DataGridView uneditable

  1. Пользователь выбирает значение из первого списка.
  2. Затем пользователь выбирает то же значение снова из выпадающего списка в следующей строке

Есть ли способ отключить, скрыть или сделать конкретную выпадающий unclickable для пользователя? Просто удаление строки действительно работает, если пользователь не использует TAB или ENTER, тогда весь APP падает ... любые предложения?


EDIT # 1: Я пытался - вместо того, чтобы отключить ComboBox - удалить полную строку (дубликат). Если пользователь нажимает на следующую ячейку, после выбора значения из выпадающего списка текущая ячейка будет удалена правильно. Но если пользователь использует Клавиатуру, например. TAB или ENTER, чтобы выскочить из ячейки combobox, строка удаляется и программа выходит из строя с помощью Null Reference Exception.

Application.Run(new FormComboBox()); // NULL Reference Exception ?! 

Итак, проблема заключается в удалении строки, когда пользователь вкладки из ..

+0

Вы можете удалить уже выбранный элемент из combobox. Может быть, лучшее решение существует, это мое предложение –

+0

Я попробовал ваше предложение, см. Обновленный вопрос выше. – fen89

+0

Прочтите мой комментарий еще раз, я предложил удалить выбранный элемент из combobox, а не строку. –

ответ

1

Прочитайте мой комментарий еще раз, я предложил, чтобы удалить выбранный элемент из выпадающего списка не самой строки. - Sriram Sakthivel 9 октября в 7:29

Удаление выбранного элемента из поля со списком решило мою проблему. Благодаря!

Смежные вопросы