Herkese selam ederim;
Bir portal oluşturmuşsunuz, Uzayıp giden bir liste; İçinde yüzlerce belki binlerce kayıt var ve bir düğme oluşturuyorsunuz ilgili kayıta gitmesi için. Görüyorsunuz ki listenin sonuna kadar " İlgili Kayıta Git " düğmesi. İşin açıkçası ben bu görüntü kirliliğinden rahatsız oldum ve biraz araştıra sonunda aşağıda sizler ile paylaşacağım sonuca ulaştım. Sanki böyle daha güzel oldu. Umarım sizinde hoşunuza gider.
Malzemeler:
2 Tablo ( ilişkili olacak )
2. Tabloda Get ( RecordNumber ) hesaplama alanı
2 Layout
1 Portal
1 Düğme
1 Betik
Hazırlanışı:
2 tablo oluşturuyoruz. Ben burada 2. tabloyu 1. tablonun kopyası ile oluşturdum. 1. tablonun adını Tablo 2. tablonun adını da tablo_Tablo verdim. ( Ben verileri otomatik oluşturdum. Siz dilediğiniz verileri kullanabilirsiniz. )
Bu iki tabloyu ilişkilendiriyoruz. İlişkinin niteliği önemli değil.
Burası çok önemli
2. tablomuzda ( portal yapacağımız tablo ) bir tane Calculation alan oluşturuyoruz ( ben adını KayitNumarasi olarak belirledim ) calculation result is Number olarak ayarlıyoruz ve hesaplama alanına " Get ( RecordNumber ) " yazıyoruz.
2 Layout oluşturuyoruz ben birinin adını Portal, diğerinin Kayitlar verdim. her iki Layoutumuzda ana tablomuz ile ilişkili benim ana tablom Tablo idi. Kayitlar Layoutunda görüntülemek istediğimiz alanları düzenliyor sonrasında Portal Layoutunda bir portal oluşturuyor ve Show related records form açılır listesinden Ana tablomuz ile ilişkilendirdiğimiz ikinci tablomuzu seçiyoruz ( tablo_Tablo ) . Sonrasında portalda görüntülemek istediğimiz alanlarımızı belirleyip portal oluşturmayı tamamlıyoruz.
Burası çok önemli
Portalımız seçili iken Inspector > Position > Name alanına portal adı veriyoruz ( portalGizliDugme ).
Portal satırımızda yer alacak şekilde bir düğme hazırlıyoruz ( Kayıta Git ) Action: Single Step > Button Action " Go to Related Records [ Show only related records; From table "Tablo"; Using layout; "Kayitlar" (Tablo)]
Browse Mode geçip bakın isterseniz portal listesinin her satırında " Kayıta Git " düğmesini göreceksiniz. Bence hoş olmayab bir görüntü.
Burası çok önemli
Düğememiz seçili iken Inspector > Data > Hide object when alanına aşağıdaki kodları yazıyoruz
not
(
GetLayoutObjectAttribute ( "portalGizliDugme" ; "hasFocus" )
and
( Get ( ActivePortalRowNumber ) = tablo_Tablo::kayitNumarasi )
)
Burası çok önemli
Betiğimizi hazırlıyoruz. ( ben adını GizliDugme olarak belirlemiştim. )
If [$$YENILE]
Refresh Object[ Object Name:"portalGizliDugme"]
Set Variable[ $$YENILE; Value:""]
Install OnTimer Script[ ]
Else
Set Variable[ $$YENILE; Value:True]
Install OnTimer Script[ “GizliDugme”; Interval: 1/60]
End If
Burası çok önemli
Son olarak betiğimizi portalımıza OnObjectExit tetikleyicisi ile tetikletiyoruz
Hepsi bu kadar.
Direk sonucu görmek istiyorum diyen FileMakerTürk dostlarını da unutmadım.
Örnek Dosya
Sürçülisan etti isem af ola. Herkese hayırlı günler dilerim.
Saygılarımla.