Форум программистов, компьютерный форум, киберфорум
ExtJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/40: Рейтинг темы: голосов - 40, средняя оценка - 4.53
 Аватар для sau
2774 / 2074 / 386
Регистрация: 22.07.2011
Сообщений: 7,821

Выбрать (подсветить и развернуть) узел TreePanel

04.01.2012, 01:14. Показов 7859. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Каким методом можно выбрать (подсветить и развернуть) узел ?
- нужно что то вроде Ext.tree.SelectNode(NodeID);, при этом не нужно никаких постбэков, нужна простая подсветка как это делаться при выборе мышкой.

З.Ы Дерево формирую на сервере, при этом текущий/выбранный узел уже известен, нужно только выставить его у клиента.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.01.2012, 01:14
Ответы с готовыми решениями:

Как выбрать рандомно ячейку таблицы и подсветить ее зеленым цветом?
1) при первой загрузке страницы на JavaScript случайным образом должны быть выбраны день недели(столбец) и номер пары(строка), и под...

Как выбрать узел в TreeView1?
Как выбрать узел в TreeView1? Если выбрал например узел 1, тогда происходит действие...

Двоичное дерево: как, зная данный узел дерева, изменить его родительский узел?
как зная данный узел дерева измениь его родтельский узел? спасибо.

10
 Аватар для Kdn
307 / 165 / 25
Регистрация: 07.02.2011
Сообщений: 319
04.01.2012, 13:44
sau, Версия Ext??

Добавлено через 23 минуты
sau, Если третья, то так :
JavaScript
1
2
3
4
5
6
var tree = Ext.getCmp('IdForMyTreePanel'),
     nodeId = 'needSelect',
     node = tree.getNodeById(nodeId);
 
node.expand();
tree.getSelectionModel( ).select(node);
1
 Аватар для sau
2774 / 2074 / 386
Регистрация: 22.07.2011
Сообщений: 7,821
04.01.2012, 15:40  [ТС]
Пасиб, решил несколько иначе:
JavaScript
1
2
var node = cntDocTree.getNodeById('nodeID'); 
if(node!=null) cntDocTree.selectPath(node.getPath());
А вообще я юзаю NET обертку EXT.NET, странно но там я не нашел реализацию данного метода со стороны контрола, пришлось через скрипт ExtJS делать.
0
 Аватар для Kdn
307 / 165 / 25
Регистрация: 07.02.2011
Сообщений: 319
04.01.2012, 16:42
sau, хотя в принципе у treeNode есть метод select(); так что всё ещё проще =) :
JavaScript
1
2
3
4
var node = cntDocTree.getNodeById('nodeID');
if (node){
   node.expand(true,true,node.select.createDelegate(node));
}
0
 Аватар для sau
2774 / 2074 / 386
Регистрация: 22.07.2011
Сообщений: 7,821
04.01.2012, 16:46  [ТС]
У меня почему то простой node.select() работает только если узел в корне, иначе выдает ошибку в скрипте :
Ext.Fly .. c.ui.wrap, где wrap почему то is null...
- вероятно select требует что бы родительские узлы были открыты или еще что, а вот selectPath работает нормально, сразу открывает родительские узлы и подсвечивает нужный.
0
 Аватар для Kdn
307 / 165 / 25
Регистрация: 07.02.2011
Сообщений: 319
04.01.2012, 16:49
sau, аааа всё понял selectPath это единственное правильное решение, потому что он поочерёдно открывает всех родителей,пока не доберётся до нужного нода.
0
 Аватар для sau
2774 / 2074 / 386
Регистрация: 22.07.2011
Сообщений: 7,821
04.01.2012, 16:52  [ТС]
Кстати, раз уж ты на NET тоже пишешь, глянь на EXT.NET http://examples.ext.net/#/Tree... der_Nodes/ - очень удобно
И если найдешь там метод у TreePanel который выберет мне нужный узел, буду признателен )
потому как такой подход меня не радует:
C#
1
2
string nodeID = Request["page"];
if (nodeID != null) cntDocTree.AddScript("var node = cntDocTree.getNodeById('" + nodeID + "'); if(node!=null) { cntDocTree.selectPath(node.getPath()); }");
там конечно есть метод
cntDocTree.SelectPath(), но вот у узла нету аналогии getPath, а строить путь самому тоже как то не хочеться
0
 Аватар для Kdn
307 / 165 / 25
Регистрация: 07.02.2011
Сообщений: 319
04.01.2012, 16:52
А пока родительский нод не раскрыт, то select выкидывает ошибку, что элемент DOM ещё не нарисован.
0
 Аватар для Kdn
307 / 165 / 25
Регистрация: 07.02.2011
Сообщений: 319
04.01.2012, 17:03
sau, Не спорю, удобно. Но я предпочитаю использовать библиотеку "живьём", потому что достаточно хорошо её знаю. Ext.Net сделана для тех у кого проблемы со знанием JavaScript и ExtJS API, но есть опыт работы с Asp.Net. Ну и ещё масса не нужных мне вещей.
0
 Аватар для sau
2774 / 2074 / 386
Регистрация: 22.07.2011
Сообщений: 7,821
04.01.2012, 17:10  [ТС]
Дело даже не в знаниях, а в подходе ASP NET, первым делом когда я сел за ExtJS у меня возникла мысль обернуть все это в контролы с поддержкой событий на стороне сервера ), но как оказалось ребята из EXT.NET уже постарались ...
Хочется пользоваться классическим подходом ,без "извращений" с точки зрения ASP NET, на стороне клиента для отправки данных на сервер. (особенно если помимо ExtJS на странице еще куча стандартных ASP NET контролов с постбэками)
0
 Аватар для Kdn
307 / 165 / 25
Регистрация: 07.02.2011
Сообщений: 319
04.01.2012, 17:31
sau, У всех свои подходы. Мне Asp.Net не нравится. Я использую Net Для описания бизнес логики и взаимодействие с БД. Весь UI построен только на ExtJS. Для вызова серверных методов использую Ext.Direct. Масса своих UI контролов, оборачивать которые смысла нет(много времени уйдёт) - скрипт подправил и всё.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.01.2012, 17:31
Помогаю со студенческими работами здесь

XPath - выбор узла по условию что его входящий узел имеет вложенный узел с определенным значением
Всем привет. В XSLT/XPath-е ничего не соображаю, поэтому дабы не ломать голову себе и вам над описанием своих нужд перейду сразу к...

Ext.net TreePanel
Добрый вечер) Помогите разобраться. Имеется таблица(id, Name, Parent). Как заполнить данныvb ext TreeView напрямую из БД ...

Вот есть кнопочки: свернуть, развернуть, закрыть. Как скрыть кнопку развернуть?
Вот есть кнопочки: свернуть, развернуть, закрыть. Как скрыть кнопку развернуть? Что кнопки свирнуть и закрыть оставались на местах....

Как подсветить текст?
Есть у меня пару функций, которые возвращают две строки "Какие произведения писателей заставляются задуматься о великом?" ---...

Подсветить строку по условию
Приветствую. Есть файл в 2003 экселе. Почитал про условное форматирование, вроде ничего сложного, но дело в том, что ячейка, ко которой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru