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

SetOrder дли поля выводимого по условию

Добавлено: 25 фев 2011, 17:27
Masygreen
вюшка в интерфейсе 8.10

Код: Выделить всё

create view
from ListExIm
order s_LDate   by LDate
order s_LStatus by LStatus
;
брауз

Код: Выделить всё

browse br_Head;
show(,,61,17);
Table ListExIm;

Fields
ListExIm.LDate  'Дата':[15] ,Protect,{font={bold=False;color = GetColor(ListExIm.LStatus)}};
 if(ListExIm.LType=1,'ТИП1','ТИП2')  'Тип':[20] ,Protect,{font={bold=False;color = GetColor(ListExIm.LStatus)}};
end;
сортировка

Код: Выделить всё

HandleEvent
 /************************Смена сортировки*****************************/
 cmColumnClicked:
 {
  case Target of
   #ListExIm.LType :
   {
    SetOrder(tis_LType);
	SetTableBackOrderIn(tnListExIm,GetColumnSorting(br_Head,Target)=1);
	SetColumnSorting(br_Head,Target,if(GetColumnSorting(br_Head,Target)=0,1,GetColumnSorting(br_Head,Target)*(-1)));
	RereadRecord;
   };
   #ListExIm.LDate :
   {
    SetOrder(tis_LDate);
	SetTableBackOrderIn(tnListExIm,GetColumnSorting(br_Head,Target)=1);
	SetColumnSorting(br_Head,Target,if(GetColumnSorting(br_Head,Target)=0,1,GetColumnSorting(br_Head,Target)*(-1)));
	RereadRecord;
   };
  end;
};
при жмаканье по if(ListExIm.LType=1,'ТИП1','ТИП2') 'Тип':[20] ,Protect,{font={bold=False;color = GetColor(ListExIm.LStatus)}};
в интерфейсе - сортировка не включается .. хз почему .. видимо не понимает Target что за поле... (и действительно message(target) - выдает какую то шнягу)..
че посоветуете?

Re: SetOrder дли поля выводимого по условию

Добавлено: 25 фев 2011, 17:35
Vik
Либо переносите во вьюху

Код: Выделить всё

create view
as select
 if(ListExIm.LType=1,'ТИП1','ТИП2') (fieldname = fldType)
Либо делаете так :

Код: Выделить всё

browse brName
fields
...
[fldType]  if(ListExIm.LType=1,'ТИП1','ТИП2')  'Тип':[20] ,Protect,{font={bold=False;color = GetColor(ListExIm.LStatus)}};

end;

Re: SetOrder дли поля выводимого по условию

Добавлено: 25 фев 2011, 17:56
Masygreen
Vik писал(а):Либо переносите во вьюху

Код: Выделить всё

browse brName
fields
...
[fldType]  if(ListExIm.LType=1,'ТИП1','ТИП2')  'Тип':[20] ,Protect,{font={bold=False;color = GetColor(ListExIm.LStatus)}};

end;
Вот это круто подошло ! спасибо +1