Я использую древовидный список DevExpress (10.2) в своем проекте VB.Net в Visual Studio 2008. В настоящее время у меня есть древовидный список с TreeList.OptionsBehavior.Editable = True
.У меня есть два столбца, первый из которых AllowEdit = False
.Во втором столбце я устанавливаю AllowEdit
и ReadOnly
динамически, хотя действие FocusedNodeChanged
.
В подпрограмме FocusedNodeChange
я проверяю, есть ли конкретное значение в строке, и если да, я устанавливаю егобыть редактируемым или не редактируемым.Я устанавливаю его для редактирования с помощью:
treeList.Columns("field_name").OptionsColumn.ReadOnly = False
treeList.Columns("field_name").OptionsColumn.AllowEdit = True
и устанавливаю его только для чтения с помощью:
treeList.Columns("field_name").OptionsColumn.ReadOnly = True
treeList.Columns("field_name").OptionsColumn.AllowEdit = False
Это работает в определенной степени.Прямо сейчас, если я захожу в редактируемую ячейку в древовидном списке, курсор появляется и мигает, поэтому я знаю, что он доступен для редактирования, и если я захожу в ячейку, когда фокусируется не редактируемая строка, курсор не мигает.
Однако, даже если курсор мигает, я не могу напечатать.Когда я нажимаю на клавиши (цифры и буквы) на клавиатуре, ничего не пишется.
решено
Простое решение.Хранимая процедура, которую я использовал для извлечения данных в таблицу, не содержала поля для определенного столбца, который я пытался сделать редактируемым и не редактируемым.Это произошло потому, что это было новое значение, которое было вставлено / обновлено не так, как обычно.Чтобы исправить это, я получил ноль и / или 0, и он работал нормально.