ListObject denetimi

Şunlar için geçerlidir:yes Mac noiçin Visual Studio noVisual Studio Visual Studio Code

Denetim ListObject , olayları kullanıma sunan ve verilere bağlanabilen bir listedir. Çalışma sayfasına liste eklediğinizde Visual Studio, Microsoft Office Excel nesne modelinden geçiş yapmak zorunda kalmadan doğrudan üzerinde programlama yapabileceğiniz bir ListObject denetim oluşturur.

Şunlar için geçerlidir: Bu konudaki bilgiler, Excel için belge düzeyi projeler ve VSTO Eklenti projeleri için geçerlidir. Daha fazla bilgi için bkz. Office uygulaması ve proje türüne göre kullanılabilen özellikler.

Denetimi oluşturma

Belge düzeyi projelerinde, çalışma sayfasına tasarım zamanında veya çalışma zamanında denetim ekleyebilirsiniz ListObject . VSTO Eklenti projelerinde, çalışma sayfalarına yalnızca çalışma zamanında denetim ekleyebilirsiniz ListObject . Daha fazla bilgi için bkz . Nasıl yapılır: Çalışma sayfalarına ListObject denetimleri ekleme.

Not

Varsayılan olarak, çalışma sayfası kapatıldığında konak denetimleri olarak dinamik olarak oluşturulan liste nesneleri çalışma sayfasında kalıcı olmaz. Daha fazla bilgi için bkz. Çalışma zamanında Office belgelerine denetim ekleme.

Denetime veri bağlama

Denetim ListObject , basit ve karmaşık veri bağlamayı destekler. Denetim, ListObject tasarım zamanında ve DataMember özellikleri veya SetDataBinding çalışma zamanında yöntemi kullanılarak DataSource bir veri kaynağına bağlanabilir.

Not

ListObject, veriler değiştiğinde olayları tetikleyen gibi bir DataTableveri kaynağına bağlı olduğunda otomatik olarak güncelleştirilir. veri değiştiğinde ListObject olayları tetiklemeyen bir veri kaynağına bağlarsanız, öğesini güncelleştirmek ListObjectiçin veya RefreshDataRows yöntemini çağırmanız RefreshDataRow gerekir.

Yinelenen bir ListObject şema öğesini bu hücreye eşleyerek çalışma sayfası hücresine bir eklediğinizde, Visual Studio öğesini otomatik olarak oluşturulan veri kümesine ListObject eşler. Ancak, ListObject otomatik olarak verilere bağlı değildir. belge düzeyinde bir ListObject projede veri kümesine tasarım zamanında veya çalışma zamanında bağlamak için adım atabilirsiniz. bir VSTO Eklentisinde çalışma zamanında veri kümesine program aracılığıyla bağlayabilirsiniz ListObject .

Veriler öğesinden ListObjectayrı olduğundan, doğrudan üzerinden değil, bağlı veri kümesi aracılığıyla ListObjectveri ekleyip kaldırmanız gerekir. Bağlı veri kümesindeki veriler herhangi bir mekanizma aracılığıyla güncelleştirilirse, ListObject denetim değişiklikleri otomatik olarak yansıtır. Daha fazla bilgi için bkz . Office çözümlerinde denetimlere veri bağlama.

bir denetimi bir veri kaynağına bağlayarak ListObject hızlı bir şekilde doldurabilirsinizListObject. Verileri veriye bağlı ListObjectbir içinde düzenlerseniz, değişiklikler veri kaynağında da otomatik olarak yapılır. bir ListObject doldurmak ve ardından kullanıcının veri kaynağını değiştirmeden içindeki ListObject verileri değiştirmesini sağlamak istiyorsanız, veri kaynağından ayırmak ListObject için yöntemini kullanabilirsinizDisconnect. Daha fazla bilgi için bkz . Nasıl yapılır: ListObject denetimlerini verilerle doldurma.

Not

Çakışan ListObject denetimlerde veri bağlama desteklenmez.

ListObject denetimlerinde performansı geliştirme

Xml dosyasını veriye bağlı ListObject denetime okumak, önce denetimi bağlar ve ardından veri kümesini doldurmak için çağrısı ReadXml yaparsanız daha yavaş olur. Performansı geliştirmek için denetimi bağlamadan önce çağrısı ReadXml yapın.

ListObject denetimlerinin veri kaynağıyla bağlantısını kesme

Denetimi bir ListObject veri kaynağına bağlayarak verilerle doldurduktan sonra, liste nesnesindeki verilerde yapılan değişikliklerin veri kaynağını etkilememesi için denetimin bağlantısını kesebilirsiniz. Daha fazla bilgi için bkz . Nasıl yapılır: ListObject denetimlerini verilerle doldurma.

Sütun ve satır sırasını geri yükleme

Verileri tasarım zamanında belgeye eklenmiş bir ListObject denetime bağladığınızda, Visual Studio çalışma kitabı her kaydedildiğinde sütun ve satır sırasını izler. Kullanıcı çalışma zamanında sütunları veya satırları taşırsa ListObject , çalışma kitabının bir sonraki açılışında yeni düzen korunur ve ListObject denetim veri kaynağına yeniden bağlanır.

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

Biçimlendir

'a uygulanabilen biçimlendirme bir ListObject denetime ListObject uygulanabilir. Buna kenarlıklar, yazı tipleri, sayı biçimi ve stiller dahildir. Son kullanıcılar, veriye bağlı ListObjectbir içindeki sütunları yeniden düzenleyebilir ve bu değişiklikler, tasarım zamanında belgeye eklenmiş olması koşuluyla ListObject belgeyle birlikte kalıcı hale getirilecektir. Belgenin bir sonraki açılışında, liste nesnesi aynı veri kaynağına bağlanır, ancak sütun sırası kullanıcıların değişikliklerini yansıtır.

Çalışma zamanında sütun ekleme ve kaldırma

Çalışma zamanında veriye bağlı ListObject denetimde sütunları el ile ekleyemez veya kaldıramazsınız. Son kullanıcı bir sütunu silmeye çalışırsa, hemen geri yüklenir ve eklenen tüm sütunlar kaldırılır. Bu nedenle, kullanıcılara verilere bağlı bir ListObject üzerinde bu eylemleri neden gerçekleştiremediklerini açıklamak için kod yazmak önemlidir. Visual Studio, bir veri bağlamayla ilgili çeşitli ListObject olaylar sağlar. Örneğin, silmeye çalıştıkları verilerin silinemeyeceği ve geri yüklendiği konusunda kullanıcıları uyarmak için olayını kullanabilirsiniz OriginalDataRestored .

Çalışma zamanında satır ekleme ve kaldırma

Veri kaynağının yeni satırların eklenmesine izin vermesi ve salt okunur olmaması koşuluyla, veriye bağlı ListObject denetimde satırları el ile ekleyebilir ve kaldırabilirsiniz. Verileri doğrulamak için gibi BeforeAddDataBoundRow olaylara karşı kod yazabilirsiniz. Daha fazla bilgi için bkz . Nasıl yapılır: ListObject denetimine yeni satır eklendiğinde verileri doğrulama.

Bazen liste nesnesinin veri kaynağıyla ilişkisi rutin hatalara neden olur. Örneğin, içinde ListObjectgösterilmesini istediğiniz sütunları eşleyebilirsiniz. Bu nedenle, null değerleri kabul edemeyen bir alan gibi kısıtlamaları olan sütunları atlarsanız, her satır oluşturulduğunda hatalar oluşur. Olay işleyicisinde eksik değerleri olay için eklemek üzere ErrorAddDataBoundRow kod yazabilirsiniz.

Excel'de ListObject denetimlerini yeniden adlandırma

Excel, kullanıcıların Çalışma zamanında Tasarım sekmesini kullanarak Excel tablolarının adını değiştirmesine olanak tanır. Ancak, ListObject denetim bu özelliği desteklemez. Kullanıcı bir öğesine karşılık gelen bir ListObjectExcel tablosunu yeniden adlandırmaya çalışırsa, çalışma kitabı kaydedildiğinde Excel tablosunun adı otomatik olarak özgün ada döner.

Ekinlikler

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

Ayrıca bkz.