DevExpress TreeView добавить сгиб, затем выделить и фокусировать строку в режиме редактирования
В моем древовидном представлении, после добавления сгиба, я хочу, чтобы эта строка была выделена и в режиме редактирования. Так что пользователь может ввести имя для новой папки. Я могу сфокусировать узел, но не могу установить строку в режиме редактирования.
2 ответа
Если бы точно такая же проблема, вот фрагмент кода, требовала глобальной переменной, чтобы отличить обычный клик от клика "Я хочу редактировать":
Сначала создайте глобальную переменную
bool fChanged = false;
Поместите этот код после того, как вы создали свой узел, это вызовет редактор (убедитесь, что вы пометили сетку для редактирования, а также столбцы, которые вы хотите редактировать.
m_treelist.SetFocusedNode (node);
fChanged = false;
m_treelist.ShowEditor ();
Добавить событие в свой список щелчков, добавить этот код
fChanged = false;
Добавьте событие в событие OnFocusedNodeChanged, добавьте этот код
fChanged = true;
В событии ShowingEditor вы хотите поместить этот код
e.Cancel = fChanged;
Если у вас есть какие-либо действия в щелчках мыши (для контекстных меню, убедитесь, что для fChanged установлено значение false, так как это также вызовет редактор.
Наконец, все, что вам нужно сделать, это обработать ValidateEditor и HiddenEditor вашим кодом.
НТН
Установить FocusedColumn
свойство к нужному столбцу, затем вызвать ShowEditor()
войти в режим редактирования.