Страница 1 из 1

сортировка в интерфейсе

Добавлено: 14 апр 2006, 09:08
Vek
Здравствуйте
не получается отсортировать таблицу, прошу совета, почему не работает

описываю таблицу в проекте

table struct sort_ree1(
TIDK:Word,
DESGR:String,
NAME:String,
NODOK:String,
DATVIP:Date,
DATOB:Date,
YEARPL:Word,
SUMOB:Double,
cmyReeIndex:comp
)
with index (t00 =cmyReeIndex(Unique), t01 =NODOK );


interface interf_sort '1'(,,)

cyan , escClose;
show at(0,0,52,37);

create view x
sort_ree1.*, reeplpor.*

from sort_ree1(t01), reeplpor
where ((
reeplpor.nrec == sort_ree1.cmyReeIndex
))
;

browse bbb '' (,,) show at(1,15,49,17);
table reeplpor;
fields
sort_ree1.nodok 'Nodok':[15], Protect;
sort_ree1.cmyReeIndex 'Nrec':[15], Protect;
end;

handleevent
cmInit: {
_loop reeplpor
{
if (modifier getfirst sort_ree1 where (( reeplpor.nrec == sort_ree1.cmyReeIndex)) )
<> tsOK then {
ClearBuffer( #sort_ree1 );
sort_ree1.cmyReeIndex:=reeplpor.nrec;
sort_ree1.TIDK:=reeplpor.TIDK;
sort_ree1.DESGR:=reeplpor.DESGR;
sort_ree1.NAME:=reeplpor.NAME;
sort_ree1.NODOK:=reeplpor.NODOK;
sort_ree1.DATVIP:=reeplpor.DATVIP;
sort_ree1.DATOB:=reeplpor.DATOB;
sort_ree1.YEARPL:=reeplpor.YEARPL;
sort_ree1.SUMOB:=reeplpor.SUMOB;
insert current sort_ree1;
}
}
}
end; //handleevent
end. //


читал, что ставишь в разделе FORM в скобках ставишь индекс, по которому сортировать и все сортирует (from sort_ree1(t01)...), а тут что-то не работает. Или подскажите, как по-другому сортировать
Заранее спасибо

Добавлено: 14 апр 2006, 11:28
edward_K
у вас корневая reeplpor - по ней и отсортировали :)

Добавлено: 14 апр 2006, 12:12
Vek
в браузере поменять
table reeplpor;
на
table sort_ree1;
?

все равно не работает почему-то

Добавлено: 14 апр 2006, 13:22
Maverick
Порядок сортировки записей в таблице определяется во первых указанием явного индекса, затем порядком подцепки полей таблицы в условии WHERE, а затем порядком SetOrder.

Возрастание приоритета сортировки идет в таком же порядке, т.е. у явного задания индекса - наименьший, у Ордера - наибольший.

В вашем случае описание подцепки в WHERE перекрывает сортировку через явно указанный индекс

Добавлено: 17 апр 2006, 07:02
Vek
Спасибо! помогло :)