SharePoint MultipleLookupField
Kontrolünü Nasıl Kullanırsınız: Adım Adım Kılavuz
SharePoint ile çalışırken, bir listedeki bir öğeyi başka bir listedeki birden fazla öğe ile ilişkilendirme senaryolarıyla karşılaşabilirsiniz. Bunu başarmak için faydalı bir kontrol olan MultipleLookupField
mevcuttur. Bu yazıda, MultipleLookupField
kontrolünü adım adım kullanmanıza rehberlik edeceğiz ve web parçalarınızda birden fazla arama değerini nasıl görüntüleyeceğinizi ve yöneteceğinizi anlamanızı sağlayacağız.
Problem: İki Listeyi Bağlama
Ana zorluk, MultipleLookupField
kontrolünü SharePoint bağlamında çalışan bir web sayfasına entegre etmektir. Görevler ve belgeler gibi iki SharePoint alan koleksiyonunu bağlamak isteyebilirsiniz. Bu, bazı temel ayarlamalar ve kontrolü etkili bir şekilde manipüle etme anlayışı gerektirir.
MultipleLookupField ile Başlarken
Adım 1: SharePoint Ortamınızı Oluşturun
- Bir Takım Sitesi Ayarlayın: SharePoint içinde yeni bir takım sitesi oluşturarak başlayın.
- Görevler Ekleyin: Görevler listesine gidin ve birkaç görev oluşturun.
- Bir Belge Oluşturun: Paylaşılan Belgeler kütüphanesine bir belge yükleyin.
- Bir Arama Sütunu Oluşturun:
- Paylaşılan Belgeler kütüphanesinde “İlişkili” adında yeni bir sütun oluşturun.
- Bu sütunun Görevler listesinin “Başlık” alanını referans alan bir Arama alanı olarak ayarlanmasını sağlayın.
- Bu sütunun çoklu değerleri kabul etmesine dikkat edin.
Adım 2: Web Parçası Oluşturma
MultipleLookupField
’i kullanmaya başlamak için bir web parçası oluşturmanız gerekiyor. İşte bu süreci anlamanıza yardımcı olacak basitleştirilmiş bir örnek.
Web Parçanızın Temel Yapısı
Label l;
MultipleLookupField mlf;
protected override void CreateChildControls()
{
base.CreateChildControls();
SPList list = SPContext.Current.Web.Lists["Shared Documents"];
if (list != null && list.Items.Count > 0)
{
LiteralControl lit = new LiteralControl("Görevleri " + list.Items[0].Name + " ile ilişkilendir");
this.Controls.Add(lit);
mlf = new MultipleLookupField();
mlf.ControlMode = SPControlMode.Edit;
mlf.FieldName = "Related";
mlf.ItemId = list.Items[0].ID;
mlf.ListId = list.ID;
mlf.ID = "Related";
this.Controls.Add(mlf);
Button b = new Button();
b.Text = "Değiştir";
b.Click += new EventHandler(bClick);
this.Controls.Add(b);
l = new Label();
this.Controls.Add(l);
}
}
void bClick(object sender, EventArgs e)
{
l.Text = "";
foreach (SPFieldLookupValue val in (SPFieldLookupValueCollection)mlf.Value)
{
l.Text += val.LookupValue.ToString() + " ";
}
SPListItem listitem = mlf.List.Items[0];
listitem["Related"] = mlf.Value;
listitem.Update();
mlf.Value = listitem["Related"];
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
EnsureChildControls();
}
Adım 3: Web Parçanızı Yayınlama
- Derleyin ve Yayınlayın: Kodunuzu derleyin ve web parçanızı SharePoint ortamınıza dağıtın.
- Web Parçasını Sitene Ekleyin: Takım sitesi ana sayfanıza gidin ve yeni web parçanızın bir örneğini ekleyin.
Tıklama İşleyicisini Anlamak
Tıklama olay işleyicisi bClick
, kullanıcı arayüzünü güncellemek için kritik öneme sahiptir.
- Değerleri Almak: Seçilen tüm değerlerin
MultipleLookupField
‘den alınması ve görüntülenmesiyle başlar. - Liste Öğesini Güncelleme: Seçilen görevlerle belgeler listesindeki “İlişkili” alanı günceller, böylece kullanıcı arayüzü ile liste öğesi arasında senkronizasyon sağlanır.
Ek Notlar
- Verilen örnek oldukça basittir: kapsamlı hata yönetiminden yoksundur ve üretim kullanımı için tasarlanmamıştır. Daha iyi kullanılabilirlik için genişletilmesi düşünülmelidir.
mlf.Value = listitem["Related"];
satırını yorum satırı haline getirirseniz, kullanıcı arayüzünün altta yatan verilerle senkronize olmayabileceğini bulabilir, bu yüzden bu satırın uygun işlevsellik için gerekli olduğunu unutmayın.
Sonuç
Yukarıda belirtilen adımları izleyerek, MultipleLookupField
kontrolünü SharePoint sitenize başarıyla entegre edebilirsiniz. Bu, farklı listelerden ilgili öğelerin verimli bir şekilde yönetilmesini sağlar ve genel SharePoint deneyiminizi artırır. Biraz pratik ve iyileştirmeyle, bu temel ilkeleri belirli ihtiyaçlarınıza yönelik güçlü çözümlere dönüştürebilirsiniz.
MultipleLookupField
kontrolünü SharePoint’te kullanma deneyimlerinizi paylaşmaktan veya sorularınızı sormaktan çekinmeyin!