Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
 Tree Datawindow скрыть/изменить TreeNode  [new]
Igor Domnich
Member

Откуда:
Сообщений: 7
Нужно собственно скрыть сам значок дерева или изменить вид на раскрытый узел - если это последний элемент в ветке (меньше чем максимальная для этого DW).
Кто нибудь пытался ?
4 авг 14, 21:54    [16398626]     Ответить | Цитировать Сообщить модератору
 Re: Tree Datawindow скрыть/изменить TreeNode  [new]
AIS
Member

Откуда:
Сообщений: 1695
Igor Domnich,
если у Вас от РВ10, то в хелпе все есть, читайте и применяйте...
5 авг 14, 02:13    [16399239]     Ответить | Цитировать Сообщить модератору
 Re: Tree Datawindow скрыть/изменить TreeNode  [new]
Igor Domnich
Member

Откуда:
Сообщений: 7
AIS
Igor Domnich,
если у Вас от РВ10, то в хелпе все есть, читайте и применяйте...

Спасибо конечно за УНИВЕРСАЛЬНЫЙ ответ - может не стоило вообще отвечать?
Если бы я не смотрел хелп - я бы не написал на форум.
Pb12.0
Явной ссылки на это не нашел.
5 авг 14, 14:34    [16401537]     Ответить | Цитировать Сообщить модератору
 Re: Tree Datawindow скрыть/изменить TreeNode  [new]
PaulJB
Member

Откуда: Киев
Сообщений: 737
TreeViewDW, в принципе, это обычный ДВ с группами.
Как Вам удалось отобразить заголовок группы без дочерних элементов?
Приведите, плз. пример данных и как Вы для них дизайните ДВ.

З.Ы.
ИМХО, TreeViewDW малость кривоват и туповат (даже в 12 версии) и годится только для простых задач.
Я бы юзал его с осторожностью.
6 авг 14, 10:45    [16405017]     Ответить | Цитировать Сообщить модератору
 Re: Tree Datawindow скрыть/изменить TreeNode  [new]
Igor Domnich
Member

Откуда:
Сообщений: 7
PaulJB,
Данные с дерева развернуты в вид
c_lev_1, c_id_1, c_ipd_1, c_name_1, c_next_1, .... и т.д. 2 3 4 ...


в событии expanding 
// если возвращается 0 - то узел разворачивается
// если 1 - нет

Integer	li_next

// если не последний уровень
if grouplevel< ii_client_max_level then
	// если 0 - то нет уровней ниже
	li_next = this.GetItemNumber(row,'c_next_'+String(grouplevel))
	if li_next = 0 then 
		li_rc = 1
	end if
end if
return li_rc

В c_next_1 возвр 1 если есть ID в c_id_2 - это черновой вариант - можно просто проверять на c_id_2 (наличие нижестоящего уровня).
Для видимости где можно раскрыть узел рядом c "плюсиком" рисую небольшой кружок.
Количество уровней фиксировано. Но есть возможность не раскрывает ненужные ветви.

А вот избавиться бы от "плюсика" - заменить или скрыть - ХОТЕЛОСЬ ПОЛУЧИТЬ СОВЕТ.
Если интересует попозже сделаю скрин.
6 авг 14, 14:18    [16406687]     Ответить | Цитировать Сообщить модератору
 Re: Tree Datawindow скрыть/изменить TreeNode  [new]
PaulJB
Member

Откуда: Киев
Сообщений: 737
Ну ... если ХОТИТЕ ПОЛУЧИТЬ СОВЕТ, то я думаю - никак.
ИМХО, в идее работы TreeViewDW стоит группировка и соотв. - нет дочерних элементов, нет и заголовков (вышестоящих уровней) и "плюсики" прятать не надо.

Можно самому создать TreeViewDW на основе DW с группировками, но это уже другая история ...
6 авг 14, 14:38    [16406844]     Ответить | Цитировать Сообщить модератору
 Re: Tree Datawindow скрыть/изменить TreeNode  [new]
PaulJB
Member

Откуда: Киев
Сообщений: 737
... да, в принципе, если уже совсем никак, то его можно "накрыть" чем то. Например Text-ом.
6 авг 14, 14:47    [16406902]     Ответить | Цитировать Сообщить модератору
 Re: Tree Datawindow скрыть/изменить TreeNode  [new]
Igor Domnich
Member

Откуда:
Сообщений: 7
Это все испробовано. В дизайненре красиво , а в просмотре - увы.
6 авг 14, 17:27    [16408051]     Ответить | Цитировать Сообщить модератору
 Re: Tree Datawindow скрыть/изменить TreeNode  [new]
AIS
Member

Откуда:
Сообщений: 1695
Igor Domnich
Это все испробовано. В дизайненре красиво , а в просмотре - увы.

У меня, конечно не РВ12, а 10.5, но ответ - это как мне кажется не совсем правда!
Прикрыть можно иконкой, например, а не текстом, установив indent.value<=0, но в дочерних надо тоже управлять.

P.S. Но я пользуюсь, обычным (чьим-то) DW, который имитирует полный спектр функционала дерева. Управлять сложнее, скорость немного ниже, но по факту - не отличить от классического, т.е. нет привязки к стандарту (у ветки могут отсутствовать любые дочерние листья).
7 авг 14, 01:19    [16409567]     Ответить | Цитировать Сообщить модератору
 Re: Tree Datawindow скрыть/изменить TreeNode  [new]
AIS
Member

Откуда:
Сообщений: 1695
Да, забыл упомянуть, что это дерево-грид с управлением по столбцам....
7 авг 14, 01:27    [16409584]     Ответить | Цитировать Сообщить модератору
 Re: Tree Datawindow скрыть/изменить TreeNode  [new]
PaulJB
Member

Откуда: Киев
Сообщений: 737
Igor Domnich
Это все испробовано. В дизайненре красиво , а в просмотре - увы.
А что именно - увы?
Конечно, координатами "крышки" надо управлять в зависимости от уровня.
7 авг 14, 10:08    [16410019]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить