İzlenecek yol: Word eylemleri bölmesindeki denetimlere veri bağlama
Bu izlenecek yol, Word'deki eylemler bölmesindeki denetimlere veri bağlamayı gösterir. Denetimler, SQL Server veritabanındaki tablolar arasındaki ana/ayrıntı ilişkisini gösterir.
Şunlar için geçerlidir: Bu konudaki bilgiler Word için belge düzeyi projeleri için geçerlidir. Daha fazla bilgi için bkz. Office uygulaması ve proje türüne göre kullanılabilen özellikler.
Bu izlenecek yol aşağıdaki görevleri gösterir:
Verilere bağlı Windows Forms denetimleriyle eylemler bölmesi oluşturma.
Denetimlerdeki verileri görüntülemek için bir ana/ayrıntı ilişkisi kullanma.
Uygulama açıldığında eylemler bölmesini gösterin.
Not
Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Sahip olduğunuz Visual Studio sürümü ve kullandığınız ayarlar bu öğeleri belirler. Daha fazla bilgi için bkz . Visual Studio IDE'yi kişiselleştirme.
Önkoşullar
Bu izlenecek yolu tamamlamak için aşağıdaki bileşenlere ihtiyacınız vardır:
Microsoft Office geliştirici araçlarını içeren bir Visual Studio sürümü. Daha fazla bilgi için bkz . Office çözümleri geliştirmek için bilgisayar yapılandırma.
Word 2013 veya Word 2010 .
Northwind SQL Server örnek veritabanı ile bir sunucuya erişim.
SQL Server veritabanından okuma ve yazma izinleri.
Proje oluşturma
İlk adım bir Word Belgesi projesi oluşturmaktır.
Yeni proje oluşturmak için
Word Eylemleri Bölmesi adlı bir Word Belgesi projesi oluşturun. Sihirbazda Yeni belge oluştur'u 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 Word belgesini açar ve Word Eylemleri Bölmesi projesini Çözüm Gezgini ekler.
Eylemler bölmesine denetim ekleme
Bu kılavuzda, verilere bağlı Windows Forms denetimlerini içeren bir eylemler bölmesi denetimine ihtiyacınız vardır. Projeye bir veri kaynağı ekleyin ve ardından denetimleri Veri Kaynakları penceresinden eylemler bölmesi denetimine sürükleyin.
Eylemler bölmesi denetimi eklemek için
Çözüm Gezgini Word Eylemleri Bölmesi projesini seçin.
Proje menüsünde Yeni Öğe Ekle'ye tıklayın.
Yeni Öğe Ekle iletişim kutusunda Eylemler Bölmesi Denetimi'ni seçin, ActionsControl olarak adlandırın ve ekle'ye tıklayın.
Projeye veri kaynağı eklemek için
Veri Kaynakları penceresi görünmüyorsa, bunu menü çubuğunda Diğer Windows>Veri Kaynaklarını Görüntüle'yi>seçerek görüntüleyin.
Not
Veri Kaynaklarını Göster kullanılamıyorsa, Word belgesine tıklayın ve yeniden denetleyin.
Veri Kaynağı Yapılandırma Sihirbazı'nı başlatmak için Yeni Veri Kaynağı Ekle'ye tıklayın.
Veritabanı'nın ardından İleri'ye tıklayın.
Northwind örnek SQL Server veritabanına bir veri bağlantısı seçin veya Yeni Bağlan ion düğmesini kullanarak yeni bir bağlantı ekleyin.
İleri'ye tıklayın.
Seçiliyse bağlantıyı kaydetme seçeneğini temizleyin ve İleri'ye tıklayın.
Veritabanı nesneleri penceresinde Tablolar düğümünü genişletin.
Tedarikçiler ve Ürünler tablolarının yanındaki onay kutusunu seçin.
Finish (Son) düğmesine tıklayın.
Sihirbaz, Sağlayıcılar tablosunu ve Ürünler tablosunu Veri Kaynakları penceresine ekler. Ayrıca, projenize Çözüm Gezgini'de görünür olan bir türlenmiş veri kümesi ekler.
Eylemler bölmesi denetimine veriye bağlı Windows Forms denetimleri eklemek için
Veri Kaynakları penceresinde Sağlayıcılar tablosunu genişletin.
Şirket Adı düğümündeki açılan oka tıklayın ve ComboBox'ı seçin.
ŞirketAdı'nı Veri Kaynakları penceresinden eylemler bölmesi denetimine sürükleyin.
ComboBox Eylemler bölmesi denetiminde bir denetim oluşturulur. Aynı zamanda, adlı
SuppliersBindingSource
bir BindingSource , tablo bağdaştırıcısı ve bir DataSet bileşen tepsisinde projeye eklenir.Bileşen tepsisinde öğesini seçin
SuppliersBindingNavigator
ve Delete tuşuna basın. bu kılavuzda kullanmayacaksınızSuppliersBindingNavigator
.Not
SuppliersBindingNavigator
silindiğinde, bu kod için oluşturulan tüm kod kaldırılmaz. Bu kodu kaldırabilirsiniz.Birleşik giriş kutusunu etiketin altında olacak şekilde taşıyın ve Boyut özelliğini 171, 21 olarak değiştirin.
Veri Kaynakları penceresinde, Sağlayıcılar tablosunun alt öğesi olan Ürünler tablosunu genişletin.
ProductName düğümündeki açılan oka tıklayın ve ListBox'ı seçin.
ProductName öğesini eylemler bölmesi denetimine sürükleyin.
ListBox Eylemler bölmesi denetiminde bir denetim oluşturulur. Aynı zamanda, BindingSource bileşen tepsisinde projeye adlandırılmış
ProductBindingSource
ve tablo bağdaştırıcısı eklenir.Liste kutusunu etiketin altında olacak şekilde taşıyın ve Boyut özelliğini 171,95 olarak değiştirin.
Araç Kutusu'ndan eylemler bölmesi denetimine bir Button sürükleyin ve liste kutusunun altına yerleştirin.
öğesine sağ tıklayınButton, kısayol menüsünde Özellikler'e tıklayın ve aşağıdaki özellikleri değiştirin.
Özellik Değer Ad Ekle Metin Ekle Denetimlere sığacak şekilde kullanıcı denetimini yeniden boyutlandırın.
Veri kaynağını ayarlama
Veri kaynağını ayarlamak için eylemler bölmesi denetiminin olayına Load kod ekleyerek denetimi 'den gelen DataTableverilerle doldurun ve her denetimin DataSource ve DataMember özelliklerini ayarlayın.
Denetimi verilerle yüklemek için
Load sınıfının olay işleyicisine
ActionsControl
aşağıdaki kodu ekleyin.C# dilinde, olay işleyicisini Load olaya eklemeniz gerekir. Bu kodu oluşturucuya
ActionsControl
çağrısındanInitializeComponent
sonra yerleştirebilirsiniz. Olay işleyicileri oluşturma hakkında daha fazla bilgi için bkz . Nasıl yapılır: Office projelerinde olay işleyicileri oluşturma.this.Load += new EventHandler(ActionsControl_Load);
Denetimlerin veri bağlama özelliklerini ayarlamak için
CompanyNameComboBox
Denetimi seçin.Özellikler penceresinde DataSource özelliğinin sağındaki düğmeye tıklayın ve suppliersBindingSource'ı seçin.
DisplayMember özelliğinin sağındaki düğmeye tıklayın ve ŞirketAdı'nı seçin.
DataBindings özelliğini genişletin, Text özelliğinin sağındaki düğmeye tıklayın ve Hiçbiri'ni seçin.
ProductNameListBox
Denetimi seçin.Özellikler penceresinde DataSource özelliğinin sağındaki düğmeye tıklayın ve ürünlerBindingSource'ı seçin.
DisplayMember özelliğinin sağındaki düğmeye tıklayın ve ÜrünAdı'nı seçin.
DataBindings özelliğini genişletin, SelectedValue özelliğinin sağındaki düğmeye tıklayın ve Hiçbiri'ni seçin.
Tabloya veri eklemek için yöntem ekleme
Sonraki görev, ilişkili denetimlerden verileri okumak ve Word belgenizdeki bir tabloyu doldurmaktır. İlk olarak, tablodaki başlıkları biçimlendirmek için bir yordam oluşturun ve ardından Word tablosu oluşturup biçimlendirmek için yöntemini ekleyin AddData
.
Tablo başlıklarını biçimlendirmek için
ActionsControl
sınıfında, tablonun başlıklarını biçimlendirmek için bir yöntem oluşturun.
Tabloyu oluşturmak için
ActionsControl
sınıfında, henüz yoksa tablo oluşturacak bir yöntem yazın ve eylemler bölmesinden tabloya veri ekleyin.private void AddData(System.Data.DataRow row, string companyName) { object missing = System.Type.Missing; // Create a table if it doesn't already exist. if (Globals.ThisDocument.Tables.Count == 0) { try { // Create a table. Microsoft.Office.Interop.Word.Table tbl = Globals.ThisDocument.Tables.Add (Globals.ThisDocument.Application.Selection.Range, 1, 4, ref missing, ref missing); // Insert headings. SetHeadings(tbl.Cell(1, 1), "Company Name"); SetHeadings(tbl.Cell(1, 2), "Product Name"); SetHeadings(tbl.Cell(1, 3), "Quantity"); SetHeadings(tbl.Cell(1, 4), "Unit Price"); } catch (Exception ex) { MessageBox.Show("Problem creating Products table: " + ex.Message, "Actions Pane", MessageBoxButtons.OK, MessageBoxIcon.Error); } } // Add data from data row to the table. Microsoft.Office.Interop.Word.Selection selection = Globals.ThisDocument.Application.Selection; if (selection.Tables.Count > 0) { Microsoft.Office.Interop.Word.Row newRow = Globals.ThisDocument.Tables[1].Rows.Add(ref missing); newRow.Range.Font.Bold = 0; newRow.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft; newRow.Cells[4].Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight; newRow.Cells[1].Range.Text = companyName; newRow.Cells[2].Range.Text = row["ProductName"].ToString(); newRow.Cells[3].Range.Text = row["QuantityPerUnit"].ToString(); newRow.Cells[4].Range.Text = Math.Round(Convert.ToDouble(row["UnitPrice"])).ToString("#,##0.00"); } else { MessageBox.Show("Cursor must be within a table.", "Actions Pane", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
Word tablosuna metin eklemek için
Ekle düğmesinin Click olay işleyicisine aşağıdaki kodu ekleyin .
private void Insert_Click(object sender, System.EventArgs e) { System.Data.DataTable tbl = northwindDataSet.Products; System.Data.DataRow[] rows; // Check if a product is selected. if (this.productNameListBox.SelectedIndex >= 0) { System.Data.DataRowView productRow = (System.Data.DataRowView)this.productNameListBox.SelectedItem; string product = productRow.Row["ProductName"].ToString(); string company = this.companyNameComboBox.Text; // Return the data row from the selected product. rows = tbl.Select("[ProductName] = '" + product.Replace("'", "''") + "'"); this.AddData(rows[0], company); } else { MessageBox.Show("Please select a product.", "Actions Pane", MessageBoxButtons.OK); } }
C# dilinde, düğmenin Click olayı için bir olay işleyicisi oluşturmanız gerekir. Bu kodu Load sınıfının olay işleyicisine
ActionsControl
yerleştirebilirsiniz.this.Insert.Click += new EventHandler(Insert_Click);
Eylemler bölmesini gösterme
Denetimler eklendikten sonra eylemler bölmesi görünür hale gelir.
Eylemler bölmesini göstermek için
Çözüm Gezgini'da ThisDocument.vb veya ThisDocument.cs'ye sağ tıklayın ve kısayol menüsünde Kodu Görüntüle'ye tıklayın.
Aşağıdaki örneğe benzemesi için sınıfın
ThisDocument
en üstünde denetimin yeni bir örneğini oluşturun.Aşağıdaki örneğe benzemesi için Startup öğesinin olay işleyicisine
ThisDocument
kod ekleyin.
Uygulamayı test etme
Artık belge açıldığında eylemler bölmesinin göründüğünü doğrulamak için belgenizi test edebilirsiniz. Eylemler bölmesindeki denetimlerde ana/ayrıntı ilişkisini test edin ve Ekle düğmesine tıklandığında verilerin word tablosunda doldurulduğundan emin olun.
Belgenizi test etmek için
Projenizi çalıştırmak için F5 tuşuna basın.
Eylemler bölmesinin görünür olduğunu onaylayın.
Birleşik giriş kutusundan bir şirket seçin ve Ürünler liste kutusundaki öğelerin değiştiğini doğrulayın.
Bir ürün seçin, eylemler bölmesinde Ekle'ye tıklayın ve ürün ayrıntılarının Word'deki tabloya eklendiğini doğrulayın.
Çeşitli şirketlerden ek ürünler ekleyin.
Sonraki adımlar
Bu izlenecek yol, Word'deki eylemler bölmesindeki denetimlere veri bağlamanın temellerini gösterir. Bundan sonra gelebilecek bazı görevler şunlardır:
Verileri Excel'deki denetimlere bağlama. Daha fazla bilgi için bkz . İzlenecek yol: Excel eylemleri bölmesindeki denetimlere veri bağlama.
Projeyi dağıtma. Daha fazla bilgi için bkz . ClickOnce kullanarak Office çözümü dağıtma.