30/11/2006
INFOPATH (2/2)
INFOPATH (2/2)
Form ve Validation Olayları
InfoPath ile jscript veya vbscript (ikisi karma kullanılamıyor) kullanarak, istediğimiz işlemleri gerçekleştirebiliriz. Kullanacağımız bu kod parçalarını, handi anda ateşlenmesini istiyorsak, o olayın arkasına yazmalıyız.
InfoPath olayları form olayları ve data validation olayları olmak üzere ikiye ayrılır. Bunlar aşağıdaki tablolarda, açıklamalarıyla birlikte belirtilmiştir.
Form olayları:
Olay | Tanım |
OnAfterImport | Formlar birleştirildiğinde gerçekleşir. |
OnClick | Komut düğmesi tıklandığında gerçekleşir. |
OnLoad | Formun başlangıç durumunda gerçekleşir. Form ilk görünmeden önce ateşlenir. |
OnSubmitRequest | Forma veri eklendiğinde meydana gelir. |
OnSwitchView | Görünüm açıldığında meydana gelir. |
OnVersionUpgrade | Formun versiyon numarası ve ilişkin form şablonunun versiyon numarası eşleşmediği zaman ateşlenir. |
Data Validation Olayları:
Olay | Tanım |
OnBeforeChange | Formun altındaki XMLde değişiklik meydana geldiğinde (değişiklik kabul edilmeden hemen önce) ateşlenir. |
OnValidate | Değişiklik meydana geldikten sonra ateşlenir. |
OnAfterChange | OnValidate olayı meydana geldikten önce ateşlenir. |
InfoPath Form Şablonları
InfoPath dosyası oluşturulurken ve dosyalar üzerinde düzeltme işlemleri yapılırken kullanılan dosyaların uzantıları ve özellikleri aşağıdaki gibidir.
| Uzantı | Özellik |
| .xsn | Bütün InfoPath dosyalarını içeren form şablonu. |
.xsf | InfoPath manifest dosyası, formun birçok karakterinin tanımı olan XML dosyasıdır |
| .xsl | XSLT dosyaları, InfoPathte, form içerisinde farklı görünümler oluşturmak için kullanılır. |
.xsd | Formun altındaki XML yapısını kısıtlamak için kullanılan, bir veya birden fazla W3C XML Şema dosyalasıdır. |
| .xml | Form içerisinde XML dosyası görüntülemek için varsayılan verileri içerir. |
| .js or .vbs | Form içinde belli bir iş için tanımlanan JScript veya VBScript dosyalarıdır. |
| .jpg etc. | Form içinde kullanılan logo gibi resimlerdir. |
| dll and/or .exe | COM komponentleridir. |
3.Tablo: Dosya uzantıları ve özellikleri.
Kod Yazımı ile Örnek Uygulama :
Örneğimizde, girilen özellikleri mesaj kutusuyla kullanıcıya göstereceğiz. Çok basit bir örnek gibi gelebilir. Ancak sadece kod kullanımını örneklemeyi amaçlayan bir örnek olmasıyla, bence önemli. Basitliği arkasına yazacağımız jscript veya vbscript kodundan kaynaklanacaktır. Kodu, kendinizin geliştirdiği ve ihtiyacınız olan kod olarak yazarsanız etkili olduğunu göreceksiniz.
Üzerinde iki tane metin kutusu ve bir tane komut düğmesi olan bir form oluşturarak, kullanıcının giriş yaptığı adını ve soyadını mesaj kutusu olarak göstereceğiz.
1.Adım: InfoPathi açalım.
2.Adım: Fileden Design a Form menüsüne tıklayalım.
3.Adım: New Blank Form seçeneği ile boş bir form oluşturalım.
4.Adım: Forma Control sekmesinden iki tane metin kutusu ve bir tane komut düğmesi ekleyelim.

1.Şekil: Control sekmesi.
5.Adım: Eklediğimiz ilk metin kutusu üzerinde sağ tıklayıp Text Box Propertiesi tıklayalım. Metin kutusunun özelliklerini ayarlamamız için bir ileti gelecektir.
6.Adım: Özellikler kısmında, Field Name: CalisanAdi, DataType: Text(String) olarak ayarlayalım.

2.Şekil: Metin kutusunun özelliklerinin ayarlanması.
Data Validation: Özellikler penceresindeki, Data Validation komut düğmesi sayesinde, InfoPath içinde hakimiyetli bir şekilde ayarlamalar yapabiliyoruz.

3.Şekil: Data Validation komut düğmesi arkası.
Buradaki olaylardan, istediğimizi seçerek, bu olayın arkasına kod yazabiliyoruz. Varsayılan değer olarak üç tane olay (events) vardır.
1.OnBeforeChange
2.OnValidate
3.OnAfterChange
Buradan Add komut düğmesi sayesinde, kendi istediğimiz ayarlarda olan bir olay oluşturabiliriz.

4.Şekil: Olay ekleme.
Bu sayede olay kurallarımızı belirleyebiliriz.
7.Adım: Diğer metin kutusunun da aynı şekilde özelliklerine girelim. Özellikleri Field Name: CalisanSoyadi, DataType: Text(String) olarak belirleyelim.
8.Adım: Forma yerleştirdiğimiz komut düğmesinin de özelliklerini ayarlamak için, komut düğmesi üzerinde sağ tıklayarak Button Propertiesi seçiyoruz.

5.Şekil: Komut düğmesinin özellikleri.
Gelen özellikler penceresinde, Label: Ekle, ScriptId : CalisanEkle olarak komut düğmesinin özelliklerini belirliyoruz.
9.Adım: Komut düğmesinin özelliklerini ayarladığımız pencerede Microsoft Script Editorü tıklayarak, istediğimiz kodu yazıyoruz. Ben yukarıda da belirttiğim gibi, sadece giriş yapılan çalışan adını ve soyadını ekrana yazdırtan bir kod ekledim.
| function CalisanEkle::OnClick(eventObj) { XDocument.UI.Alert ("Çalisan Ismi : " + eventObj.Source.selectSingleNode("//my:CalisanAdi").text); XDocument.UI.Alert ("Çalisan Soyadi : " + eventObj.Source.selectSingleNode("//my:CalisanSoyadi").text); } |
10.Adım: Preview Form komut düğmesi ile formumuzu önizleme yapalım.
Önizleme sırasında, ad ve soyad girişi yapılıp, Ekle diyelim. Ekle dediğimizde, yazmış olduğumuz kod devreye girecek, ve uyarı olarak, çalışanın adını soyadını verecektir.

6.Şekil: InfoPathin önizlenme sonucu.
Bu şekilde InfoPath hakkında temel bilgi edinmiş olduk. Geliştirmesi size kalmış. Kolaygelsin.
Kategori: (Programlama) :: Yorum yaz!
:: Arkadaşına Gönder!