Merhaba arkadaşlar,
Bugün sizlere lookup Form nedir, nasıl yapılır anlatmaya çalışacağım.
Lookup Form Nedir ?
Ax’ta ki bildiğimiz form’dur. Formun görüntüsü lookup olacak şekilde ayarlaması yapılır. Fielda tıklandığında bu form açılır ancak lookup özellikli olduğu için form olduğu anlaşılmaz ve istenilen alanlar lookupta listelenir.
Benim kullanma sebebim, lookuplarda gösterilen display alanlarda filtreleme yapılmamasıydı. Bu tür durumlarda lookup form kullanabilirsiniz.
Lookup Form Nasıl Yapılır ?
Step by step diyorum:
İLK OLARAK, LOOKUP FORMU YAPIYORUZ.
1- Göstermek istediğiniz alanları yeni bir form yapıp gridte listeleyin. Formda sadece datasource ve grid olsun.
* Formun dizayn özelliklerini şu şekilde ayarlayın:
– Width : Column width
– Style : Lookup
2- Lookup’ta seçilecek hangi değeri almak istiyorsanız. Formunuzun gridinde o field’ın Auto Declaration: Yes yapın.
3- Formun methodlarına aşağıda ki methodu kendinize göre ayarlayıp ekleyin:
protected void configureCustomerLookUp(FormStringControl stringControl) { if (stringControl) { stringControl.visible(true); stringControl.registerOverrideMethod( methodStr(FormStringControl, lookup), identifierStr(CustomerLookUp), this); } }
4- Formun init methodunu override edip şunu ekleyin;
//Auto Declaration:Yes yaptığımız, form controlümüzün adı. element.selectMode(VendTable_AccountNum);
Lookup formu yaptıysak, şimdi açma işlemlerine geçelim.
Lookup Formu açma işlemleri
1- Lookup formu hangi form controlünde gösterieceksek o formda, ilgili obje özelliklerini aşağıdaki gibi ayarlayın:
Auto declartion : Yes
Lookup Button : Always
2- Datasource’ta ilgili formun controlünü bulup, lookup methodunu override ediyoruz:
public void lookup(FormControl _formControl, str _filterStr) { //super(_formControl, _filterStr); FormStringControl formStringControl = _formControl; Args args; Object formRun; ; args = new args(formStr(OBSLookupVendTable)); formRun = classfactory.formRunClass(args); formRun.init(); formStringControl.performFormLookup(formRun); }
İşlemler bu kadar. Umarım yardımcı olmuşumdur.
İyi çalışmalar.