[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