2010-11-20 19 views
2

Elimde bir veritabanı tablosu tarafından doldurulmuş bir combobox var. Benim form için benim Load olayı ben ben, "add" "düzenleme" veya ben bulamıyorum sakladığınız bir iş "delete" herVB.net: comboBox'ımı nasıl "yenilerim"?

Me.BusinessTableAdapter.Fill(Me.BillingdbDataSet.Business) 

Benim sorundur tarafından ... doldurulan var sahip olduğum combobox'ı güncellemenin yolu. Programımdan çıkıp tekrar açtığımda, değişiklikleri görebiliyorum ama bir değişiklik gerçekleştikten sonra onun nasıl güncelleneceğine dair bana bilgi vermesini umuyordum.

+0

Eğer bir fonksiyonu ve hatırlama içine Adapter.Fill kodu koymak olamazdı o ne zaman yenilenmek istersiniz. –

+0

"Ekle" ve "Düzenle" yaptığımda bu ek bir formu başlattığımı ve bundan sonra açılan kutu formuma geri döndüğünden bahsetmeyi unuttum. Aynı formda kaldığı ve işe yaramadığı için önerinizi "Sil" düğmemde de denedim. – daveomcd

cevap

2

Sorun, INotifyCollectionChanged uygulayan bir şeye ihtiyacınız var.

MSDN

herhangi koleksiyonu IEnumerable arabirimini uygulayan üzerinde numaralandırabilmesidir. Bununla birlikte, dinamik bağlamalarını ayarlamak için, koleksiyondaki eklemeleri veya silme işlemlerinin otomatik olarak güncelleştirilmesi için, koleksiyonun UI'sini otomatik olarak güncelleştirmesi, koleksiyonun arabirimini INOTifyCollectionChanged arabirimini uygulamalıdır. Bu arabirim, temelindeki koleksiyon değiştiğinde 'un yükseltilmesi gereken bir olay olan CollectionChanged olayını ortaya çıkarır.

elle yenileyebilirsiniz ama ideal durum gözlemlenebilir bir koleksiyon sınıfına bağlamak olduğunu - http://msdn.microsoft.com/en-us/library/ms668604.aspx HTH

Wade

+0

Baktım, ama sanırım hala işe yaramaya başlayamadım. Kimsede bir örnek/sözde kod var mı? Teşekkürler! – daveomcd

+0

Ne yapabileceğimi göreyim. – Wade73

+0

http://stackoverflow.com/questions/253843/simple-datagridview-refresh-questionBu istediğimi yapıyorlar, ancak bir combobox yerine bir datagridview'e benziyor. Aslında orada sahip oldukları bir Liste yaratmıyorum. Benim combobox'ım BindingSource'ım tarafından doldurulur. Bağlama kaynağı erişebildiğim bir liste sağlıyor mu? – daveomcd

1

Veri kümelerini kullanıyorsanız, temel veri kümesi değiştiğinde olayları gündeme getiren veri görüntüleme sınıfını kullanabilirsiniz. Ardından, bunları açılan kutuya bağlayan veriye bakabilir veya kendi güncelleme kodunuzu yazabilir ve bunu, liste değiştiğinde ortaya çıkan olay için bir olay işleyicisine koyabilirsiniz.