الإرشادات التفصيلية: ربط بيانات بسيط في مشروع على مستوى التطبيق
ينطبق على |
---|
تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع. نوع المشروع
إصدار Microsoft Office
|
يمكنك ربط بيانات لعناصر تحكم المضيفة و عناصر تحكم Windows Forms في المشاريع التي علي مستوي التطبيق. توضح هذه الإرشادات التفصيلية كيفية إضافة عناصر تحكم إلى مستند Microsoft Office Word ثم ربط عناصر التحكم للبيانات عند وقت التشغيل.
توضح هذه الإرشادات التفصيلية المهام التالية:
إضافة ContentControl الي مستند في وقت التشغيل.
إنشاء BindingSource التي توصل عنصر التحكم بمثيل من مجموعة بيانات.
تمكين المستخدم من التمرير خلال السجلات وعرضها في عنصر التحكم.
ملاحظة
قد يعرض جهاز الكمبيوتر الخاص بك أسماء أو مواقع مختلفة لبعض عناصر واجهة مستخدم Visual Studio في الإرشادات التالية. يحدد كل من إصدار Visual Studio لديك والإعدادات المستخدمة هذه العناصر. لمزيد من المعلومات، راجع العمل مع إعدادات.
المتطلبات الأساسية
تحتاج إلى المكونات التالية لاستكمال هذه الإرشادات التفصيلية:
-
إصدار لـ Visual Studio 2010 يشمل أدوات مطوري Microsoft Office. لمزيد من المعلومات، راجع [تكوين كمبيوتر لتطوير حلول Office](bb398242\(v=vs.100\).md).
Word 2007 أو Word 2010.
إمكانية الوصول إلى مثيل قيد التشغيل من SQL Server 2005 أو SQL Server 2005 Express الذي نموذج قاعدة البيانات AdventureWorksLT مرفقة بها. يمكنك تحميل قاعدة بيانات AdventureWorksLT من موقع ويب CodePlex. للمزيد من المعلومات حول إرفاق قاعدة بيانات، راجع المواضيع التالية:
لإرفاق قاعدة بيانات باستخدام SQL Server Management Studio أو SQL Server Management Studio Express، راجع كيفية القيام بما يلي: إرفاق قاعدة بيانات (SQL Server Management Studio).
لإرفاق قاعدة بيانات باستخدام سطر الأوامر، راجع كيفية القيام بما يلي: إرفاق ملف قاعدة بيانات إلى SQL Server Express.
إنشاء مشروع جديد
الخطوة الأولى هي إنشاء مشروع وظيفة Word إضافية.
لإنشاء أحد المشروعات الجديدة
يمكنك العمل مع أجزاء XML مخصص باستخدام تخصيص المستوى المستندات أو المستوى تطبيق إضافة-في.
لمزيد من المعلومات، راجع كيفية القيام بما يلي: إنشاء مشاريع Office في Visual Studio.
Visual Studio opens the ThisAddIn.vb or ThisAddIn.cs file and adds the Populating Documents from a Database project to Solution Explorer.
إذا كان مشروعك يستهدف .NET Framework 4 ، اضف مرجعاً لتجميع Microsoft.Office.Tools.Word.v4.0.Utilities.dll. هذا المرجع مطلوب لاضافة عناصر تحكم Windows Forms إلى المستند المستخدم فيما بعد في هذه الإرشادات التفصيلية.
إنشاء مصدر بيانات
قم باستخدام النافذة مصادر البيانات لتضيف مجموعة بيانات مكتوبة إلى مشروعك.
لاضافة مجموعة بيانات مكتوبة إلى المشروع
في قائمة البيانات ,انقر فوق إضافة مصدر بيانات جديد.
يتم فتح معالج تكوين مصدر البيانات.
انقر فوق قاعدة البيانات، ثم انقر فوق التالي.
إذا كان لديك اتصال موجود إلى AdventureWorksLT ،اختر هذا الاتصال وانقر فوق التالي.
وإلا فانقر فوق اتصال جديد، واستخدم مربع الحوار إضافة اتصال لإنشاء الاتصال الجديد. لمزيد من المعلومات، راجع كيفية القيام بما يلي: يعيّن إلى البيانات في قاعدة بيانات.
في صفحة جفظ سلسلة الاتصال إلى ملف تكوين التطبيق، انقر فوق التالي.
في صفحة اختر كائنات قاعدة البيانات الخاصة بك، قم بتوسيع الجداول وحدد العميل (SalesLT).
انقر فوق Finish.
يتم إضافة ملف AdventureWorksLTDataSet.xsd الي مستكشف الحلول. يحدد هذا الملف العناصر التالية:
مجموعة بيانات مكتوبة تسمى AdventureWorksLTDataSet. مجموعة البيانات هذه تمثل محتويات الجدول العميل ( (SalesLT في قاعدة بيانات AdventureWorksLT.
TableAdapter يسمى CustomerTableAdapter. TableAdapter هذا يمكن استخدامه لقراءة وكتابة البيانات في AdventureWorksLTDataSet. لمزيد من المعلومات، راجع نظرة عامة حول محول الجدول.
ستستخدم كل من هذه الكائنات لاحقًا في هذه الإرشادات التفصيلية.
إنشاء عناصر التحكم و ربط عناصر تحكم إلى البيانات
واجهة عرض سجلات قاعدة البيانات في هذه الإرشادات التفصيلية أساسية جدا ويتم إنشاؤها داخل المستند. واحد من ContentControl يعرض سجل قاعدة بيانات واحدة في كل لحظة ، اثنين من عناصر التحكم Button يتيحان لك التمرير ذهاباً وإياباً خلال السجلات. يستخدم عنصر تحكم المحتوى BindingSource للاتصال بقاعدة البيانات.
لمزيد من المعلومات حول ربط عناصر التحكم بالبيانات، راجع ربط بيانات إلى عناصر تحكم في حلول Office.
لإنشاء الواجهة في المستند
في الفئة ThisAddIn ، قم بالتصريح بعناصر التحكم التالية للتمرير خلال جدول Customer لقاعدة البيانات AdventureWorksLTDataSet .
Private adventureWorksDataSet As AdventureWorksLTDataSet Private customerTableAdapter As AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter Private customerBindingSource As System.Windows.Forms.BindingSource Private customerContentControl As Microsoft.Office.Tools.Word.RichTextContentControl Private WithEvents button1 As Microsoft.Office.Tools.Word.Controls.Button Private WithEvents button2 As Microsoft.Office.Tools.Word.Controls.Button
private AdventureWorksLTDataSet adventureWorksDataSet; private AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter customerTableAdapter; private System.Windows.Forms.BindingSource customerBindingSource; private Microsoft.Office.Tools.Word.RichTextContentControl customerContentControl; private Microsoft.Office.Tools.Word.Controls.Button button1; private Microsoft.Office.Tools.Word.Controls.Button button2;
في الأسلوب ThisAddIn_Startupقم بإضافة التعليمة البرمجية التالية لتهيئة ورقة العمل, قم بتعبئة ورقة العمل بمعلومات من قاعدة البيانات AdventureWorksLTDataSet.
Me.adventureWorksDataSet = New AdventureWorksLTDataSet() Me.customerTableAdapter = New AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter() Me.customerTableAdapter.Fill(Me.adventureWorksDataSet.Customer) Me.customerBindingSource = New System.Windows.Forms.BindingSource()
this.adventureWorksDataSet = new AdventureWorksLTDataSet(); this.customerTableAdapter = new AdventureWorksLTDataSetTableAdapters.CustomerTableAdapter(); this.customerTableAdapter.Fill(this.adventureWorksDataSet.Customer); this.customerBindingSource = new System.Windows.Forms.BindingSource();
قم بإضافة التعليمات البرمجية التالية للأسلوب ThisAddIn_Startup . ينشئ هذا عنصراً مضيفاً يوسع المستند. لمزيد من المعلومات، راجع توسيع مستندات Word ومصنفات Excel في وظائف إضافية على مستوى التطبيق في وقت التشغيل.
Dim currentDocument As Word.Document = Me.Application.ActiveDocument ' Use the following line of code in projects that target the .NET Framework 4. Dim extendedDocument As Document = Globals.Factory.GetVstoObject(currentDocument) ' In projects that target the .NET Framework 3.5, use the following line of code instead. ' Dim extendedDocument As Document = currentDocument.GetVstoObject()
Word.Document currentDocument = this.Application.ActiveDocument; // Use the following line of code in projects that target the .NET Framework 4. Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument); // In projects that target the .NET Framework 3.5, use the following line of code instead. // Document extendedDocument = currentDocument.GetVstoObject();
قم بتعريف نطاقات متعددة في بداية المستند. هذه النطاقات تقوم بتعريف مكان إدراج النص و وضع عناصر التحكم.
extendedDocument.Paragraphs(1).Range.InsertParagraphBefore() extendedDocument.Paragraphs(1).Range.InsertParagraphBefore() extendedDocument.Paragraphs(1).Range.Text = "The companies listed in the AdventureWorksLT database: " extendedDocument.Paragraphs(2).Range.Text = " " Dim range1 As Word.Range = extendedDocument.Paragraphs(2).Range.Characters.First Dim range2 As Word.Range = extendedDocument.Paragraphs(2).Range.Characters.Last Dim range3 As Word.Range = extendedDocument.Paragraphs(1).Range.Characters.Last
extendedDocument.Paragraphs[1].Range.InsertParagraphBefore(); extendedDocument.Paragraphs[1].Range.InsertParagraphBefore(); extendedDocument.Paragraphs[1].Range.Text = "The companies listed in the AdventureWorksLT database: \n"; extendedDocument.Paragraphs[2].Range.Text = " "; Word.Range range1 = extendedDocument.Paragraphs[2].Range.Characters.First; Word.Range range2 = extendedDocument.Paragraphs[2].Range.Characters.Last; Word.Range range3 = extendedDocument.Paragraphs[1].Range.Characters.Last;
قم باضافة عناصر الواجهة إلى نطاقات معرّفة مسبقاً.
Me.button1 = extendedDocument.Controls.AddButton(range1, 60, 15, "1") Me.button1.Text = "Previous" Me.button2 = extendedDocument.Controls.AddButton(range2, 60, 15, "2") Me.button2.Text = "Next" Me.customerContentControl = extendedDocument.Controls.AddRichTextContentControl(range3, _ "richTextContentControl1")
this.button1 = extendedDocument.Controls.AddButton(range1, 60, 15, "1"); this.button1.Text = "Previous"; this.button2 = extendedDocument.Controls.AddButton(range2, 60, 15, "2"); this.button2.Text = "Next"; this.customerContentControl = extendedDocument.Controls.AddRichTextContentControl( range3, "richTextContentControl1");
قم بربط عنصر تحكم المحتوى ل AdventureWorksLTDataSet باستخدام BindingSource. لمطوري C # ، قم باضافة جهازي معالجات الأحداث لعناصر التحكم Button.
Me.customerBindingSource.DataSource = Me.adventureWorksDataSet.Customer Me.customerContentControl.DataBindings.Add("Text", Me.customerBindingSource, _ "CompanyName", True, Me.customerContentControl.DataBindings.DefaultDataSourceUpdateMode)
this.customerBindingSource.DataSource = this.adventureWorksDataSet.Customer; this.customerContentControl.DataBindings.Add("Text", this.customerBindingSource, "CompanyName", true, this.customerContentControl.DataBindings.DefaultDataSourceUpdateMode); this.button1.Click += new EventHandler(button1_Click); this.button2.Click += new EventHandler(button2_Click);
قم باضافة التعليمة البرمجية التالية للتنقل بين سجلات قاعدة البيانات.
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) _ Handles button1.Click Me.customerBindingSource.MovePrevious() End Sub Private Sub button2_Click(ByVal sender As Object, ByVal e As EventArgs) _ Handles button2.Click Me.customerBindingSource.MoveNext() End Sub
void button1_Click(object sender, EventArgs e) { this.customerBindingSource.MovePrevious(); } void button2_Click(object sender, EventArgs e) { this.customerBindingSource.MoveNext(); }
اختبار الوظائف الإضافية
عند فتحك لـ Word، عنصر تحكم المحتوى يعرض بيانات من مجموعة البيانات AdventureWorksLTDataSet . قم بالتمرير عبر سجلات قاعدة البيانات بواسطة النقر فوق الأزرار التالي و السابق .
لاختبار الوظيفة الإضافية
اضغط المفتاح F5.
محتوى التحكم باسم customerContentControl تم إنشاؤه و تعبئته بالبيانات. في نفس الوقت، تتم إضافة كائن مجموعة بيانات يسمى adventureWorksLTDataSet وBindingSource يسمى customerBindingSource إلى المشروع. ContentControl مرتبط بـ BindingSource الذي بدوره مرتبط بكائن مجموعة البيانات.
قم بالتمرير عبر سجلات قاعدة البيانات بواسطة النقر فوق الأزرار التالي و السابقة .
راجع أيضًا:
المهام
كيفية القيام بما يلي: تعبئة أوراق العمل بالبيانات من قاعدة البيانات
كيفية القيام بما يلي: نشر المستندات بالبيانات من قاعدة بيانات
كيفية القيام بما يلي: نشر مستندات مع بيانات من خدمات
كيفية القيام بما يلي: نشر مستندات مع بيانات من كائنات
كيفية القيام بما يلي: التمرير عبر سجلات البيانات في ورقة عمل
كيفية القيام بما يلي: تحديث مصدر بيانات ببيانات من عنصر تحكم مضيف
الإرشادات التفصيلية: ربط بيانات بسيطة في مشروع على مستوى المستند
الإرشادات التفصيلية: ربط بيانات بشكل معقد في مشروع على مستوى المستند
كيفية القيام بما يلي: نشر مستندات مع بيانات من كائنات
كيفية القيام بما يلي: تحديث مصدر بيانات ببيانات من عنصر تحكم مضيف
المرجع
نظرة عامة حول مكوّن BindingSource
المبادئ
نظرة عامة عن استخدام ملفات قاعدة بيانات محلية في حلول Office
ربط عناصر تحكم النماذج Windows إلى بيانات في Visual Studio
نظرة عامة عن استخدام ملفات قاعدة بيانات محلية في حلول Office
الاتصال إلى البيانات في تطبيقات نماذج Windows