Задвоенные записи в tree
Добавлено: 05 июл 2011, 15:54
Заполняю tree динамически через временную таблицу. после обработки появляются задвоенные записи. Никак не получается их обойти если я повторно вызываю doCreateTable.
Код: Выделить всё
create view
var
node : comp;
as select
if(SearchMarker(lMarkerList,tmp_table.nRec,inx), '√', '') ( FieldName = MarkerInx ),
*
from
tmp_table,
where
((
node == tmp_table.cOwner
))
;
//...
procedure doCreateTable;
begin
MTClear(#tmp_table, mfNormal);
incert current tmp_table;
end;
//...
panel scr_Main;
tree tr_tblMyTree ('',,sci1EnInsTree);
table tmp_table
fields
{Font = {
bold = if((MarkerInx='√'), true, false);
}};
tmp_table.sResv 'Наименование' : [6] , protect;
tmp_table.sKol 'Кол-во' : [4.2] , protect;
end;
end;
//...
panel scr_Main; table tmp_table;
handleEvent
cmTreeTop: {
node := 0;
}
cmTreeUp: {
node := tmp_table.cOwner;
}
cmTreeDown: {
node := tmp_table.nRec;
}
cmTreeNodeType: {
if (tmp_table.cOwner<>0)
TreeSetNodeType(tr_tblMyTree, 2);
}
end;
end;
HandleEvent
CmInit: {
doCreateTable;
}
end;
end.