Aracılığıyla paylaş


ListObject Denetimi

ListObject denetimi, olaylar ortaya çıkaran ve verilere bağlanabilen bir listedir.Çalışma sayfasına bir liste eklediğinizde Visual Studio, Microsoft Office Excel nesne modeline çapraz geçiş yapmak zorunda kalmadan doğrudan üzerine dayalı olarak programlayabileceğiniz bir ListObject denetimi oluşturur.

Uygulama hedefi: Bu konudaki bilgiler, Excel 2013 ve Excel 2010 için belge düzeyi projeler ve uygulama düzeyi projelere yöneliktir. Daha fazla bilgi edinmek için, bkz. Office Uygulaması ve Proje Türüne Göre Kullanılabilir Özellikler.

Denetimi Oluşturma

Belge düzeyi projelerinde ListObject denetimlerini bir çalışma sayfasına tasarım veya çalışma anında ekleyebilirsiniz.Uygulama düzeyi projelerinde ListObject denetimlerini çalışma sayfalarına sadece çalışma anında ekleyebilirsiniz.Daha fazla bilgi için bkz. Nasıl yapılır: Çalışma Sayfalarına ListObject Denetimleri Ekleme.

[!NOT]

Varsayılanda, çalışma sayfası kapatıldığında dinamik olarak oluşturulmuş liste nesneleri çalışma sayfasında konak kontrolü olarak kalıcı değildir.Daha fazla bilgi için bkz. Office Belgelerine Çalışma Zamanında Denetim Ekleme.

Denetimlere Veri Bağlama

Bir ListObject denetimi basit ve karmaşık veri bağlamasını destekler.ListObject denetimi bir veri kaynağına tasarım zamanında DataSource ve DataMember özellikleri ile, çalışma zamanında SetDataBinding yöntemi ile bağlanabilir.

[!NOT]

ListObject bir DataTable gibi veri değiştiğinde olaylar başlatan bir veri kaynağına bağlandığında otomatik olarak güncellenir.ListObject'i veri değiştiğinde olay başlatmayan bir veri kaynağına bağlarsanız, ListObject'i güncellemek için RefreshDataRow veya RefreshDataRows yöntemini çağırmanız gerekir.

Bir ListObject'i bir çalışma sayfası hücresine tekrarlayan bir şema öğesini o hücreye eşleyerek eklerseniz, Visual Studio otomatik olarak ListObject'i üretilmiş veri kümesine eşler.Bununla birlikte, ListObject veriye otomatik olarak bağlanmaz.Bir belge düzeyi projesinde ListObject'i veri kümesine tasarım zamanında veya çalışma zamanında bağlamak için atabileceğiniz adımlar vardır.Bir uygulama düzeyi eklentisinde ListObject'i veri kümesine çalışma zamanında program aracılığıyla ekleyebilirsiniz.

Verilerin ListObject'ten ayrı olması nedeniyle, verileri bağlanmış veri kümesi aracılığıyla (fakat doğrudan ListObject aracılığıyla değil) eklemeli ve çıkarmalısız.Bağlanmış veri kümesindeki veriler herhangi bir mekanizma aracılığıyla güncelleniyorsa, ListObject denetimi otomatik olarak değişiklikleri yansıtır.Daha fazla bilgi için bkz. Office Çözümlerinde Verileri Denetimlere Bağlama.

ListObject denetimini, ListObject'i veri kaynağına bağlayarak hızlıca doldurabilirsiniz.Verilere bağımlı bir ListObject'te veri düzenlerseniz değişiklikler otomatik olarak veri kaynağında da yapılır.Eğer ListObject'i doldurmak ve sonra kullanıcıların ListObject'taki verileri veri kaynağını bozmadan değiştirmelerini sağlamak istiyorsanız, ListObject'i veri kaynağından ayıran Disconnect yöntemini kullanabilirsiniz.Daha fazla bilgi için bkz. Nasıl Yapılır: ListObject Denetimlerini Veri ile Doldurma.

[!NOT]

Çakışan ListObject denetimleri üzerinde veri bağlama desteklenmemektedir.

ListObject Denetiminde Performans Arttırma

Verilere bağımlı ListObject denetiminden XML dosyası okumak, önce denetim bağlanıp sonra veri kümesini doldurmak için ReadXml çağrılırsa daha yavaş olma eğilimindedir.Performansı arttırmak için ReadXml'yi denetimi bağlamadan önce çağırın.

ListObject Denetimlerinin Veri Kaynağıyla Bağlantısını Kesmek

ListObject denetimini bir veri kaynağına bağlayarak doldurduktan sonra, bağlantıyı liste nesnesinde yaptığınız veri değişikliklerinin veri kaynağını etkilememesi için kesebilirsiniz.Daha fazla bilgi için bkz. Nasıl Yapılır: ListObject Denetimlerini Veri ile Doldurma.

Sütun ve Satır Sıralarını Geri Yükleme

Belgeye tasarım anında eklenmiş ListObject denetimine veri bağladınızda, Visual Studio çalışma kitabı kaydedildiği zaman sütun ve satır sıralarının izini tutar.Eğer bir kullanıcı ListObject sütun veya satırlarını çalışma zamanında hareket ettirirse, yeni sıra çalışma kitabının bir sonraki açılmasında kayıtlı kalır ve ListObject denetimi veri kaynağına tekrar bağlanır.

ListObject'i eski sütun ve satır sırasına geri yüklemek istiyorsanız, ResetPersistedBindingInformation yöntemini çağırabilirsiniz.Bu yöntem belirtilen ListObject'in sütun ve satır sıraları ile ilgili özel belge özelliklerini kaldırır.ListObject'ın sütun ve satır sıralarını korumak istemiyorsanız, bu yöntemi Çalışma Kitabının Shutdown olayından çağırın.

Biçimlendirme

Bir ListObject'e uygulanabilen biçimlendirme ListObject denetimine de uygulanabilir.Bu, kenarlıkları, yazı tiplerini, sayı biçimlerini ve stilleri kapsar.Son kullanıcılar verilere bağımlı ListObject'te sütunları yeniden düzenleyebilirler ve bu değişiklikler ListObject belgeye tasarım zamanında eklenmişse belgede kalıcıdır.Belgenin bir sonraki açılışında liste nesnesi aynı veri kaynağına bağlı olacaktır, fakat sütun sırası kullanıcıların değişikliklerini yansıtacaktır.

Çalışma Zamanında Sütunları Ekleme ve Kaldırma

Sütunları çalışma zamanında el ile verilere bağımlı ListObject denetimine ekleyemezsiniz ya da denetimden kaldıramazsınız.Bir son kullanıcı bir sütunu silmeye çalışırsa o sütun hemen geri yüklenir ve eklenen sütunlar silinir.Bu nedenle, kullanıcılara onların neden verilere bağımlı bir ListObject üzerinde bu tür eylemler gerçekleştiremediğini açıklayan kod yazmak önemlidir.Visual Studio, ListObject üzerine veri bağlama ile ilgili birkaç olay sağlar.Örneğin, OriginalDataRestored olayını kullanıcılara silmeye çalıştıkları verinin silinemeyeceği ve geri yüklendiği uyarısını vermek için kullanabilirsiniz.

Çalışma Zamanında Satırları Ekleme ve Kaldırma

Veri kaynağının yeni satırlar eklemeye izin vermesi ve salt okunur olmaması koşuluyla, el ile verilere bağımlı bir ListObject denetimine satır ekleyebilir ve denetimden satır kaldırabilirsiniz.Verileri doğrulamak için BeforeAddDataBoundRow gibi olaylara dayalı kod yazabilirsiniz.Daha fazla bilgi için bkz. Nasıl Yapılır: ListObject Denetimine Yeni Bir Satır Eklendiğinde Veriyi Doğrulama.

Bazen, liste nesnesinin veri kaynağıyla olan ilişkisi olağan hatalar doğurabilir.Örneğin, ListObject'de gözükmesini istediğiniz sütunları eşleyebilirsiniz, bunu yaparken kısıtlamaları olan bir satırı (boş değerleri kabul etmeyen bir alan gibi) atlarsınız ve satırın her oluşturuluşunda hatalar ortaya çıkar.ErrorAddDataBoundRow olayı işleyicisinde eksik değerleri eklemek için kod yazabilirsiniz.

Excel'de ListObject Denetimlerini Yeniden Adlandırma

Excel, kullanıcıların Tasarım sekmesini kullanarak Excel tablolarının adlarını çalışma zamanında değiştirmesine olanak tanır.Ancak, ListObject denetimi bu özelliği desteklememektedir.Eğer bir kullanıcı bir ListObject'e karşılık gelen bir Excel tablosunu yeniden adlandırmaya çalışırsa, çalışma kitabı kaydedildiğinde Excel tablosunun ismi otomatik olarak asıl isme geri dönecektir.

Olaylar

Aşağıdaki olaylar ListObject denetimi için kullanılabilir:

Ayrıca bkz.

Görevler

Nasıl yapılır: Çalışma Sayfalarına ListObject Denetimleri Ekleme

Nasıl yapılır: ListObject Denetimlerinin Boyutunu Değiştirme

Nasıl Yapılır: ListObject Denetimine Yeni Bir Satır Eklendiğinde Veriyi Doğrulama

Nasıl Yapılır: ListObject Sütunlarıyla Verileri Eşleme

Nasıl Yapılır: ListObject Denetimlerini Veri ile Doldurma

Nasıl Yapılır: Çalışma Sayfalarını Veritabanı Verileriyle Doldurma

Kavramlar

Genişletilmiş Nesneleri Kullanarak Excel'i Otomatikleştirme

Uygulama Düzeyi Eklentilerindeki Word Belgelerini ve Excel Çalışma Kitaplarını Çalışma Zamanında Genişletme

Office Belgelerine Çalışma Zamanında Denetim Ekleme

Konak Denetimlerinin ve Konak Öğelerinin Programlama Sınırlamaları

Diğer Kaynaklar

Office Geliştirme Örnekleri ve İzlenecek Yollar

Office Çözümlerinde Verileri Denetimlere Bağlama

Office Belgelerindeki Denetimler