powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / DWTreeView
6 сообщений из 6, страница 1 из 1
DWTreeView
    #37517361
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РВ10.5
Есть таблица вида:
idnamepid.........
1.Можно ли из неё построить DWTreeView?
2.Можно ли в DWTreeView получить значение столбца по значению id?
...
Рейтинг: 0 / 0
DWTreeView
    #37523970
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем сделал так:
1. Сгруппировал 1-ый уровень дерева по столбцу "PID" и установил там Computed_field
2. В Computed_field прописал глобальную функцию с аргументом "PID".
3. Создал глобальную функцию "gf_setitem":
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
/*Параметр: integer a_pid */
string ls_return
long   ll_found
DataStore ds_tmp

ds_tmp = Create DataStore
if IsValid(ds_tmp) then
	ds_tmp.DataObject = "d_tree"
	ll_found = ds_tmp.Find("id="+string(a_pid),  1 , ds_tmp.RowCount())
	if ll_found> 0  then	ls_return=string(ds_tmp.Object.Data[ll_found,  2 ])
	Destroy ds_tmp
end if

Return ls_return

P.S. Может кому пригодится, а может кто-то предложит лучшее решение. ;)
...
Рейтинг: 0 / 0
DWTreeView
    #37523982
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и ещё добавил в DW фильтр в событие "constructor":
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
/*pid=0 - у меня в таблице идут названия групп*/
string ls_DWfilter

this.SetRedraw(false)
ls_DWfilter = "pid > 0"
this.SetFilter(ls_DWfilter)
this.Filter()

this.SetRedraw(true)
...
Рейтинг: 0 / 0
DWTreeView
    #37533495
andy753
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS,

И что это дало? У тебя pid - ссылка на родителя? Ведь все равно показываются только 2 верхних уровня. В чем фишка то?
...
Рейтинг: 0 / 0
DWTreeView
    #37533990
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andy753AIS,

И что это дало? У тебя pid - ссылка на родителя? Ведь все равно показываются только 2 верхних уровня. В чем фишка то?
Фишка в том, что мне надо было постоить DWTreeView из одной таблицы и я не знал как это сделать.
Да, там один уровень. Но по такому принципу можно сделать и несколько. Но у меня такой задачи не стояло. (естественно речь не идет о разной длине вложенности в ветках).

Если для вас это очевидные вещи, то предложите другой вариант решения, было бы интересно. ;)
...
Рейтинг: 0 / 0
DWTreeView
    #37537316
andy753
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS,

А запрос переписать? Сделать join с родителем?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / DWTreeView
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]