Проблемы с деревом

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Аля
Посетитель
Сообщения: 36
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Тюмень

Проблемы с деревом

Сообщение Аля »

Здравствуйте!
Вот первый раз взялась за деревья и видимо что-то где-то упустила...
Интерфейс просто вылетает про попытке развернуть ветку :(
Есть такая таблица в памяти:
Table struct mtvid
(
wRec : word ,
wOwner : word,
name : string
)
WITH INDEX (
mtvid01=wRec,
mtvid02=wOwner);

create view VW
var curOwner : word;
from mtvid
where (( curOwner == mtvid.wOwner ));

Ну и несчастное дерево:

tree treeV '' ( ,, sci147EnEscTree ) ;
table mtvid;
fields
mtvid.wrec 'Код':[5], protect;
mtvid.name 'Наименование' ('Наименование',, ) : [ 40 ], protecT ;
end;
handleevent
cmTreeTop : { curOwner := 0; }
cmTreeDown : { curOwner := mtvid.wrec;}
cmTreeUp : { curOwner := mtvid.wOwner; } cmTreeNodeType : {
if (mtvid.wOwner<>0) then
TreeSetNodeType (treeV,ntfText);
else TreeSetNodeType (treeV,ntfOpen);}
end;
end;

Может у кого есть пример или доки - буду очень благодарна!
Goblin
Местный житель
Сообщения: 474
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Сибирь-матушка
Контактная информация:

Re: Проблемы с деревом

Сообщение Goblin »

в обработчике событий
добавь
cmInit:
{
curOwner := 0;
}
cmTreeNeedOwner
{
TreeJumpToRecord(treeV,mtvid.wOwner);
}
замени на
cmTreeNodeType
{
If(TreeIsTerminal(treeV)) TreeSetNodeType(treeV,ntfText);
}
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Ответить