[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: dynamiczny browser
> >> Ciekawi mnie czy ktos probowal (najlepiej z powodzeniem) dokonywac
> >> dynamicznie modyfikacji wygladu browsera ?. Kazda kolumna ma swoje
> >> atrybuty, m.in. format.
> [ ciach ]
>
> Mariusz Boronski
Browser w Progressie jest beznadziejny od zawsze, wiec nie ma sie co
dziwic. Tradycja zobowiazuje ;-)
Ponizej podam sposob rozwiazania problemu formatu, lecz metoda jest
bardziej uniwersalna i pozwala zrobic np. tzw. outer join, o ktorym
niektorzy twierdza, ze nie jest mozliwy do zrobienia w Progressie.
W sekcji Definitions deklarujemy zmienna:
def var v_phone_str as char no-undo.
W browserze Customer'a wstawiamy Calculated Field: v_phone_str.
Na poczatku sekcji Main Block dopisujemy trigger:
on find of customer
do:
if length( customer.phone ) = 6 then
v_phone_str = sring( customer.phone, "xx-xx-xx" ).
else if length( customer.phone ) = 7 then
v_phone_str = sring( customer.phone, "xxx-xx-xx" ).
else
v_phone_str = customer.phone.
end.
Jak wspomnialem, ta metoda pozwala zrobic outer join albo union:
wystarczy napisac odpowiedni trigger i ustawiac calculated fields
browsera.
Powodzenia!
--
Tomasz Judycki tj@csbi.waw.pl
CSBI SA, tel (48 22) 610 85 80 ext. 334
Plowiecka 1, fax (48 22) 612 20 61
04-501 Warsaw,
Poland
http://www.csbi.waw.pl