İzlenecek Yol: Excel Eylemler Bölmesindeki Denetimlere Veri Bağlama
Bu anlatımda Microsoft Office Excel'de bir eylem bölmesinde denetimlere nasıl veri bağlanacağı gösterilir.Denetimler, SQL Server veritabanındaki tablolar arasındaki master/detail ilişkisini gösterir.
Uygulama hedefi: Bu konudaki bilgiler, Excel 2013 ve Excel 2010 için belge düzeyi projelere yöneliktir. Daha fazla bilgi edinmek için, bkz. Office Uygulaması ve Proje Türüne Göre Kullanılabilir Özellikler.
Bu örneklerde aşağıdaki görevler gösterilir:
Çalışma sayfasına denetim ekleme.
Eylemler bölmesi denetimi oluşturma
Eylemler bölmesi denetimine veri bağımlı Windows Forms denetimi ekleme.
Uygulama açıldığında eylemler bölmesini gösterme.
[!NOT]
Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arayüzü öğelerinden bazıları için farklı adlar veya konumlar gösterebilir.Bu öğeleri bilgisayarınızdaki Visual Studio sürümü ve kullandığınız ayarlar belirler.Daha fazla bilgi için bkz. Visual Studio'da Geliştirme Ayarlarını özelleştirme.
Önkoşullar
Bu örneği tamamlamak için aşağıdaki bileşenler gerekmektedir:
Microsoft Office geliştirici araçlarını içeren bir Visual Studio 2013 sürümü. Daha fazla bilgi edinmek için, bkz. Office Çözümleri Geliştirmek İçin Bilgisayarı Yapılandırma.
Excel 2013 veya Excel 2010.
Northwind SQL Server örnek veritabanı olan bir sunucuya erişim.
SQL Server veritabanı üzerinde okuma ve yazma izinleri.
Projeyi Oluşturma
İlk adım, bir Excel Çalışma Kitabı projesi oluşturamaktır.
Yeni bir proje oluşturmak için
Excel Eylem Bölmem isimli bir Excel Çalışma Kitabı projesi oluşturun.Sihirbazda Create a new document'ı (Yeni belge oluştur) seçin.Daha fazla bilgi için bkz. Nasıl Yapılır: Visual Studio'da Office Projeleri Oluşturma.
Visual Studio tasarımcıda yeni Excel çalışma kitabını açar ve Çözüm Gezgini'ne Excel Eylem Bölmem projesini ekler.
Projeye Yeni Bir Veri Kaynağı Ekleme
Projeye yeni bir veri kaynağı eklemek için
Veri kaynakları penceresi görünmüyorsa, menü çubuğu, seçme, onu görüntülemek Görünüm, Diğer Pencereler, Veri kaynakları.
Seçim Yeni veri kaynağı Ekle başlatmak için Veri kaynağı Yapılandırma Sihirbazı'nı.
Veritabanı'nı seçin ve sonra İleri'yi tıklatın.
Northwind örnek SQL Server veritabanına bir veri bağlantısı seçin veya New Connection düğmesini kullanarak yeni bir bağlantı ekleyin.
İleri düğmesini tıklatın.
Bağlantıyı kaydetme seçeneği işaretliyse temizleyin ve İleri'yi tıklatın.
Veritabanı nesneleri penceresindeki Tablolar düğümünü genişletin.
Suppliers tablosunun yanındaki onay kutusunu seçin.
Products tablosunu genişletin ve ProductName'i, SupplierID'yi, QuantityPerUnit'i, UnitPrice'ı seçin.
Son düğmesini tıklatın.
Sihirbaz Suppliers tablosunu ve Products tablosunu Veri Kaynakları penceresine ekler.Ayrıca, Çözüm Gezgini'nde görünür olan türü belirtilmiş bir veri kümesini de ekler.
Çalışma Sayfasına Denetim Ekleme
Birinci çalışma sayfasına birer NamedRange denetimi ve ListObject denetimi ekleyin.
NamedRange ve ListObject denetimleri eklemek için
Doğrulayın My Excel Eylemler Pane.xlsx Visual Studio tasarımcısında açık çalışma kitabı ile Sheet1 görüntülenir.
Veri Kaynakları penceresinde Suppliers tablosunu genişletin.
CompanyName düğümü üzerindeki açılır oku ve ardından NamedRange'i tıklatın.
Veri Kaynakları penceresinden Sheet1'deki A2 hücresine Company Name'i sürükleyin.
CompanyNameNamedRange adında bir NamedRange denetimi oluşturulur ve A2 hücresinde <CompanyName> metni görünür.Aynı anda, suppliersBindingSource isimli bir BindingSource, bir tablo bağdaştırıcısı ve bir DataSet projeye eklenir.Denetim, karşılığında DataSet olgusuna bağlanan BindingSource'a bağlanır.
Veri Kaynakları penceresinde Suppliers tablosunun altındaki sütunları aşağı kaydırarak geçiniz.Listenin alt kısmında Products tablosu vardır; alttadır çünkü Suppliers tablosunun bir çocuğudur.Bu Products tablosunu, Suppliers tablosuyla aynı seviyede olanı değil, seçin ve ardından görünen aşağı açılır oku tıklatın.
Açılan listede ListObject'i seçin ve Products tablosunu Sheet1'deki A6 hücresine sürükleyin.
A6 hücresinde ProductNameListObject adında bir ListObject denetimi oluşturulur.Aynı anda, productsBindingSource isimli bir BindingSource ve bir tablo bağdaştırıcısı projeye eklenir.Denetim, karşılığında DataSet olgusuna bağlanan BindingSource'a bağlanır.
Sadece C# [NULL]'ta seçin suppliersBindingSource bileşen ve değişiklik değiştiriciler özelliği dahili özelliklerini pencere.
Eylemler Bölmesine Denetim Ekleme
Birleşik giriş kutusu içeren bir eylemler bölmesi denetimine ihtiyacınız var.
Eylemler bölmesi denetimi eklemek için
Solution Explorer'da (Çözüm Gezgini) Excel Eylem Bölmem projesini seçin.
Proje menüsünde, Yeni Öğe Ekle'yi tıklatın.
Yeni Öğe Ekle iletişim kutusunda, Eylemler Bölmesi Denetimi'ni seçin ve ActionsControl olarak adlandırın, sonra da Ekle'yi tıklatın.
Eylemler bölmesi denetimine veri bağımlı Windows Forms denetimi eklemek için
Araç Kutusu'nun Genel Denetimler sekmelerinden eylemler bölmesi denetimine bir ComboBox denetimi sürükleyin.
Değişiklik boyutu özelliğine 171, 21.
Kullanıcı denetimini birleşik giriş kutusuna uyması için yeniden boyutlandırın.
Eylemler Bölmesinde Verilere Denetimi Bağlama
Bu bölümde, ComboBox'un veri kaynağını çalışma sayfasındaki NamedRange denetimininki ile aynı veri kaynağına ayarlayacaksınız.
Denetimin veri bağlama özelliklerini ayarlamak için
Eylemler bölmesi denetimini sağ tıklatın ve ardından Kodu Göster'i tıklatın.
Eylemler bölmesi denetiminin Load olayına aşağıdaki kodu ekleyin.
Private Sub ActionsControl_Load(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Load Me.ComboBox1.DataSource = Globals.Sheet1.SuppliersBindingSource Me.ComboBox1.DisplayMember = "CompanyName" End Sub
private void ActionsControl_Load(object sender, EventArgs e) { this.comboBox1.DataSource = Globals.Sheet1.suppliersBindingSource; this.comboBox1.DisplayMember = "CompanyName"; }
C#'ta ActionsControl için olay işleyicisi oluşturmalısınız.Bu kodu ActionsControl yapıcısına yerleştirebilirsiniz.Olay işleyicisi oluşturma hakkında daha fazla bilgi için, bkz. Nasıl Yapılır: Office Projelerinde Olay İşleyicileri Oluşturma.
public ActionsControl() { InitializeComponent(); this.Load += new EventHandler(ActionsControl_Load); }
Eylemler Bölmesini Gösterme
Denetimi çalışma zamanında eklemediğiniz sürece eylemler bölmesi görünür değildir.
Eylemler bölmesini göstermek için
Çözüm Gezgini'nde ThisWorkbook.vb veya ThisWorkbook.cs'ye sağ tıklatın ve ardından Kodu Göster'i tıklatın.
ThisWorkbook sınıfında kullanıcı denetiminin yeni bir olgusunu oluşturun.
Dim actions As New ActionsControl
ActionsControl actions = new ActionsControl();
ThisWorkbook'un Startup olay işleyicisinde denetimi eylemler bölmesine ekleyin.
Private Sub ThisWorkbook_Startup(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Startup Me.ActionsPane.Controls.Add(actions) End Sub
private void ThisWorkbook_Startup(object sender, System.EventArgs e) { this.ActionsPane.Controls.Add(actions); }
Uygulamayı Test Etme
Belge açıldığında eylemler bölmesinin açıldığını ve denetimlerde ana/detay ilişkisi bulunduğunu doğrulamak için belgenizi artık sınayabilirsiniz.
Belgenizi test etmek için
F5 tuşuna basarak projeyi çalıştırın.
Eylemler bölmesinin görünür olduğunu doğrulayın.
Liste kutusunda bir şirket seçin.Şirketin adının NamedRange denetiminde, ürün detaylarının ListObject denetiminde listelendiğini doğrulayın.
Başka şirketler de seçip şirket isminin ve ürün detaylarının düzgün olarak değiştiğini doğrulayın.
Sonraki Adımlar
Sonradan gelebilecek bazı görevler:
Word'de denetimlerine veri bağlama.Daha fazla bilgi için bkz. İzlenecek Yol: Word Eylemler Bölmesindeki Denetimlere Veri Bağlama.
Projeyi dağıtma.Daha fazla bilgi için bkz. ClickOnce Kullanarak Office Çözümü Dağıtma.
Ayrıca bkz.
Görevler
Nasıl Yapılır: Eylemler Bölmesindeki Denetim Düzenini Yönetme