Skip to main content
Ana Sayfa
Makaleler
Kitaplar
Etkinlik Takvimi
Araçlar
Biz Kimiz?
Blog
  
Sharepoint Türkiye > Makaleler > Infopath Contact Selector Kontrolünün Kullanımı  

Web Part Page Title Bar image
Infopath Contact Selector Kontrolünün Kullanımı

Untitled 1

Microsoft Office Infopath 2007 içerisinde sağ bölümde yer alan toolbox (araç kutusu) içerisinde kullanabileceğiniz pek çok kontrol mevcuttur. Bu kontroller formun compatibility seçeneklerine göre (Web Based Formlar veya Infopath Client Formları) değişiklikler arzedebilmektedir. Örneğin "multiple checkbox list" kontrolü sadece Infopath Client compatibility seçenği işaretliyse kullanılabilmekte, browser enabled formlarda kullanılamamaktadır. Bir textbox kontrolü ise her iki türdeki formda da gayet başarılı bir şekilde kullanılabilmektedir.

Özellikle iş akışlarının görev formlarını Infopath ile dizayn ediyorsanız Infopath formunuzun içerisinde kişi seçimi yapabileceğiniz bir kontrole ihtiyaç duyarsınız. Mesela görevin atandığı kişinin görev formu üzerinden bu görevi bir başkasına ataması senaryosunu yerine getirebilmek için form üzerinde kişi seçimi yaptırabilmelisiniz.

Sharepoint'in standart Approval ve Collect Data türündeki iş akışlarında bahsettiğimize benzer bir form alanı vardır. Ve güzel tarafı bu formda Infopath ile dizayn edilmiştir. Dolayısıyla buradan çıkaracağımız sonuç amaçladığımız şeyin Ifopath ile gerçekleştirilebileceği yönünde.

Şimdi buna benzer (hatta aynısı) bir alanı formlarımızda nasıl kullanırızbunu inceleyelim. Öncelikle Microsoft Office Infopath 2007'i açarak yeni, boş bir form yaratıyoruz. ve formumuzun üzerine tek bir alan barındıracak basit bir tablo nesnesi sürüklüyoruz.Formumuzn "Browser Enabled" bir form olması için gerekli checkbox ı da işaretleyebilir eğer Sharepoint üzerinde yayınlayacaksak.

Contact Selector kontrolü Infopath arayüzünün sağ bölümünde yer alan "Design Tasks" bölümünde yer almaz bu nedenle bu kontrolü öncelikle Infopath'e eklemeliyiz. Bu işlem için "Controls" tabının en altında yer alan "Add or Remove Custom Controls" linkini tıklayarak sihirbazın açılmasını sağlıyoruz.

Sİhirbaz içerisinde iki seçenek çıkacaktır karşımıza :

  • Template Part

  • ActiveX Control

Biz "ActiveX Control" seçeneğini işaretliyoruz ve devam ediyoruz.

Bir sonraki ekranda ekleyebileceğiniz ActiveX kontrollerin bir listesi gelecek karşınıza. Burada "Contact Selector" ı seçiyoruz.

"Next" butonunu tıkladığınızda değer türünün ne olacağını ve  ilgili kontrol için bir cab dosyası kullanıp kullanmayacağınızı soran ekranlar gelecek. Burada "Value" ve "Don't include a .cab file" seçeneğini işaretliyoruz.

Tüm bunları tamamladığımızda yaratacağımız "Context Selector" kontrolünün veri türünün bir grup mu yoksa bir alan mı olduğunu soran bir ekran gelecek karşımıza. Contact Selector bir kontrol olarak içerisinde seçeceğiniz kişinin username, domain, account type gibi bilgilerini de barındırır. Bu nedenle biz bu bölümde "Field or Group (any data type)" seçeneğiniz işaretliyoruz.

Ve son olarak sihirbazımızı sonlandırıyoruz.

Buraya kadar olan bölümde contact selector'un Infopath içerisinde tanımlanmasını gerçekleştirdik ancak kontrolü kullanabilmek için biraz daha emeğe ihtiyacımız var. Öncelikle sondan bir önceki adımı hatırlayalım. Kontrolümüzün bir grup türünde olacağını söylemiştik. Bu nedenle şimdi dizayn ettiğimiz formun "Data Source" bölümüne girelim ve burada bir grup, onun içine bir repeating grup ve onunda içine 3 tane field yaratalım. Grup çünkü kontrolümüzün bir grup türünde olduğunu söyledik, repeating grup çünkü birden fazla kişi seçebiliriz, 3 tane field çünkü yukarıda belirttiğimiz gibi bu kontrolde display name, username ve account type bilgileri tutulacak.

Alanlarımızı yarattığımızda formun data source görünümü şu şekilde olacak.

Şimdi yine aynı datasource içerisinde "KisiSecim" adında bir grup yaratıyoruz. Bu gruba birazdan daha önce yarattığımız "Person" isimli repeating grubu bind edeceğiz.

Atamam işlemlerinde son olarak Person repeating grubunun üzerinde sağ tıklayın ve "Reference" linkini tıklayın. Karşınıza XPath seçebileceğiniz bir gezinti alanı gelecektir. Burada KisiSecim isimli alanınızı seçin.

Artık KisiSecim isimli grubunuzun da içerisinde "Person" isimli repeating grup, yani diğer bir tabirle kişi özellikleri alanları otomatik olarak yaratıldı. Şimdi bu kontrolü (KisiSecim) formumuzdaki ilgili yer yerleştirebiliriz. Bu işlem için KisiSecimi alanını datasource ekranında secili tutun ve form içerisindeki istediğiniz yere sürükleyin. Nesne yaratılmadan önce Infopath grup türündeki bu alanı hangi kontrol türünde ekrana yazmak istediğinizi soracaktır. Ve işte burada "Contect Selector" da bir seçenek olarak çıkacak karşınız.

Ve artık formunuz kişi seçimi için özel bir kontrole sahip.

Şimdi sonucu deneyelim

 


Evren AYAN
Ceviz Bilgi Teknolojileri
WSS Architecture MVP, ISPA Regional Evangelist
http://www.evrenayan.net

http://www.sharepointturkiye.org

Copyright (c), 2008-2009 Sharepoint Türkiye
Site içerisinde yayınlanan tüm makale ve dokümanların yazım ve yayınlama hakkı aksi belirtilmediği sürece sadece yazarlara aittir.
 Yayınlanan yazıların izin alınmadan kopyalanması ve kullanılması 5846 sayılı Fikir ve Sanat Eserleri Yasasına göre suçtur.