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

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

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

Ответить
Vek
Постоянный гость
Сообщения: 74
Зарегистрирован: 16 фев 2006, 13:11

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

Сообщение 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)...), а тут что-то не работает. Или подскажите, как по-другому сортировать
Заранее спасибо
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

у вас корневая reeplpor - по ней и отсортировали :)
Vek
Постоянный гость
Сообщения: 74
Зарегистрирован: 16 фев 2006, 13:11

Сообщение Vek »

в браузере поменять
table reeplpor;
на
table sort_ree1;
?

все равно не работает почему-то
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Сообщение Maverick »

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

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

В вашем случае описание подцепки в WHERE перекрывает сортировку через явно указанный индекс
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Vek
Постоянный гость
Сообщения: 74
Зарегистрирован: 16 фев 2006, 13:11

Сообщение Vek »

Спасибо! помогло :)
Ответить