17 Nisan 2009 Cuma

Bir Centura penceresini, başka bir pencereden belirli bir kaydı seçerek açma

Bir ekrandan diğerine, parametre
aktararak geçiş, kullanıcıya hız kazandıran bir opsiyondur.
Bu makalede centurada bunun nasıl yapıldığına
ilişkin bir örnek uygulama inceleyeceğiz.

Örneğimiz nasıl çalışır?
---------------------
Parametre göndererek açmak istediğimiz formun adı X olsun.

Önce global bir değişken tanımlıyoruz.
Sonra X formunu açan window, belirli bir durumda
(Örn. içindeki bir buton tıklanılınca) bu global
değişkeni set ediyor ve X formunu açıyor.
X formu kendi açılış olayında da bu parametre dolu mu acaba diye
kontrol ediyor. Eğer doluysa kayıtlarımızı bu
parametreye göre filtreliyoruz.

Adım adım anlatmak gerekirse...


*******1************************
Formların üzerindeki bölgede gerekli global değişken tanımlanır.

variables
------------
!!CB!! 223
String: __g_sGecici



*******1************************


*******2************************


Açılacak forma aşağıdaki koda benzer kod eklenir. Bu forma X formu diyelim.

variables
------------
!!CB!! 118
String: sGeciciSql


Actions
------------
!!CB!! 173
On SAM_CreateComplete
If __g_sGecici != STRING_Null
Set sGeciciSql = "dagitim_no = '" || __g_sGecici || "'"
Call SalSendMsg(
hWndForm,
PM_DataSourceUserWhere, METHOD_Execute,
SalHStringToNumber( sGeciciSql )
)
Call SalSendMsg( hWndForm, PM_DataSourcePopulate, METHOD_Execute, 0 )
Call SalSendClassMessage ( SAM_CreateComplete, wParam, lParam )
On SAM_Close
Set __g_sGecici = STRING_Null
Call SalSendClassMessage ( SAM_Close, wParam, lParam )

*******2************************

*******3************************
X formunu açacak forma aşağıdaki kod eklenir.

Actions
------------
!!CB!! 139
Set __g_sGecici = tbwUzmarDokDagitim.colsDagitimNo
Call SalCreateWindow( 'frmUzmarDokDagitim', hWndMDI )


*******3************************

Hiç yorum yok:

Yorum Gönder