مشاركة عبر


عنصر تحكم ListObject

ينطبق على

تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع.

نوع المشروع

  • مشروعات على مستوى المستند

  • مشروعات على مستوى التطبيق

إصدار Microsoft Office

  • Excel 2007

  • Excel 2010

عنصر تحكم ListObject هو قائمة تعرض أحداثا ويمكن ربطها ببيانات. عندما تقوم بإضافة قائمة إلى ورقة عمل، يقوم Visual Studio بإنشاء كائن ListObject الذي يمكنك برمجته مباشرة دون الحاجة إلى تجاوز نموذج الكائن Microsoft Office Excel.

إنشاء عنصر التحكم

في المشاريع على مستوى المستند ، يمكنك إضافة عناصر تحكم ListObject إلى ورقة عمل في وقت التصميم أو في وقت التشغيل . في المشاريع على مستوى التطبيق ، يمكنك إضافة عناصر تحكم ListObject إلى أوراق العمل فقط في وقت التشغيل . لمزيد من المعلومات، راجع كيفية القيام بما يلي: إضافة عناصر تحكم ListObject إلى أوراق العمل.

ملاحظة

بشكل افتراضي ، كائنات القوائم المنشأة بشكل حيوي لا تدوم في ورقة العمل كعناصر تحكم مضيفة عند إغلاق ورقة العمل . لمزيد من المعلومات، راجع إضافة عناصر تحكم إلى مستندات Office في وقت التشغيل.

ربط البيانات إلى عنصر التحكم

عنصر التحكم ListObject يدعم ربط البيانات البسيط و المعقد يمكن ربط عنصر تحكم ListObject بمصدر البيانات باستخدام الخصائص DataSource و DataMember في وقت التصميم أو الأسلوب SetDataBinding في وقت التشغيل .

ملاحظة

ListObject يتم تحديثه تلقائياً عند ربطه إلى مصدر البيانات مثل DataTable ، التي ترفع أحداثا عند تغييرات البيانات . إذا قمت بربط ListObject إلى مصدر البيانات التي لا ترفع أحداثا عند تغيير البيانات ، يجب عليك استدعاء الأسلوب RefreshDataRow أو RefreshDataRows لتحديث ListObject.

عند إضافة ListObject إلى خلية من خلايا ورقة عمل عن طريق تعيين عنصر مخطط مكرر إلى تلك الخلية ، يقوم Visual Studio تلقائيًا بتخطيط ListObject إلى مجموعة البيانات التي تم إنشاؤها. ومع ذلك، فإن ListObject غير مرتبطة تلقائياً بالبيانات . يمكنك الحصول على الخطوات التالية لربط ListObject إلى مجموعة البيانات في وقت التصميم أو في وقت التشغيل في المشاريع على مستوى المستند. يمكنك برمجياً ربط ListObject إلى مجموعة البيانات في وقت التشغيل في الوظيفة الإضافية على مستوى التطبيق

لأن البيانات تكون منفصلة عن ListObject ، ينبغي عليك إضافة وإزالة البيانات الموجودة عبر مجموعة البيانات لا عبر ListObject بشكل مباشر. إذا تم تحديث البيانات في مجموعة البيانات المرتبطة من خلال أي آلية فإن عنصر التحكم ListObject يقوم تلقائياً بعكس التغييرات. لمزيد من المعلومات، راجع ربط بيانات إلى عناصر تحكم في حلول Office.

يمكنك تعبئة عنصر تحكم ListObject بواسطة ربط ListObject إلى مصدر بيانات . إذا قمت بتحرير البيانات في ListObject مرتبط بالبيانات، يتم إجراء التغييرات تلقائياً في مصدر البيانات . إذا كنت ترغب في ملء ListObject ثم تمكين المستخدم من تغيير البيانات في ListObject دون تعديل مصدر البيانات ، يمكنك استخدام الأسلوب Disconnect لفصل ListObject عن مصدر البيانات . لمزيد من المعلومات، راجع كيفية القيام بما يلي: تعبئة عناصر تحكم ListObject بالبيانات.

ملاحظة

ربط البيانات غير معتمد على تراكب عناصر تحكم ListObject .

تحسين الأداء في عناصر تحكم ListObject

قراءة ملف XML في عناصر التحكم ListObject المربوطة بالبيانات تكون أبطأ في حالة ربطك بعناصر التحكم أولاً، ثم استدعاء ReadXml لملء مجموعة البيانات. لتحسين الأداء ، قم باستدعاء ReadXml قبل ربط عنصر التحكم.

قطع اتصال عناصر تحكم ListObject من مصدر البيانات

بعد ملء عنصر التحكم ListObject بالبيانات بواسطة ربطه يمصدر البيانات ، يمكنك قطع الاتصال به بحيث لا تؤثر التعديلات التي تم إجراؤها على البيانات الموجودة في كائن القائمة على مصدر البيانات. لمزيد من المعلومات، راجع كيفية القيام بما يلي: تعبئة عناصر تحكم ListObject بالبيانات.

استعادة ترتيب العمود و الصف

عند ربط البيانات بعنصر التحكم ListObject الذي تمت إضافته إلى المستند في وقت التصميم فإن Visual Studio يحتفظ بمعلومات عن ترتيب الأعمدة والصفوف كلما يتم حفظ المصنف. إذا كان المستخدم ينقل أعمدة و صفوف ListObject أثناء وقت التشغيل ، يتم الاحتفاظ بطلب جديد في المرة التالية التي يتم فيها فتح المصنف و يقوم عنصر التحكم ListObject بالربط إلى مصدر البيانات مرة أخرى.

إذا كنت تريد استعادة ListObject إلى ترتيب عمودها و صفها الأصليين ، يمكنك استدعاء الأسلوب ResetPersistedBindingInformation . يزيل هذا الأسلوب خصائص المستند المخصصة المتعلقة بترتيب الصفوف والأعمدة من ListObject المحددة . قم باستدعاء هذا الأسلوب من حدث Shutdown من المصنف إذا لم تكن تريد الاحتفاظ بترتيب الصفوف والأعمدة في ListObject.

تنسيق

التنسيقات التي يمكن تطبيقها على Microsoft.Office.Interop.Excel.ListObject يمكن تطبيقها على عنصر تحكم Microsoft.Office.Tools.Excel.ListObject. يتضمن هذا الحدود و الخطوط و تنسيقات الأرقام و الأنماط. يمكن للمستخدمين النهائيين إعادة ترتيب الأعمدة في ListObject المربوطة بالبيانات ، و هذه التغييرات سوف تكون موجودة بشكل ثابت مع المستند ، فى حالة كون ListObject تمت إضافته إلى المستند في وقت التصميم. في المرة القادمة التي سيتم فتح المستند فيها ، سيتم ربط كائن القائمة إلى نفس مصدر البيانات ولكن ترتيب الأعمدة سوف يعكس تغييرات المستخدمين.

إضافة و إزالة أعمدة فى وقت التشغيل

لا يمكنك إضافة أو إزالة أعمدة يدوياً في عنصر التحكم ListObject المربوط بالبيانات في وقت التشغيل . إذا كان المستخدم يحاول حذف عمود ، ستتم استعادته مباشرةً كما يتم إزالة أية أعمدة مضافة. لذلك، فمن المهم كتابة تعليمات برمجية تشرح للمستخدمين لماذا لا يمكنهم تنفيذ هذه الإجراءات على ListObject المربوطة بالبيانات . تقوم Visual Studio بتوفير عدة أحداث على ListObject المتعلقة بربط البيانات . على سبيل المثال، يمكنك استخدام حدث OriginalDataRestored لتحذير المستخدمين من إن البيانات التي حاولوا حذفها لا يمكن حذف و تمت استعادتها .

إضافة و إزالة صفوف في وقت التشغيل .

يدوياً ، يمكنك إضافة و إزالة الصفوف في عنصر التحكم ListObject المربوط بالبيانات ، مصدر البيانات المتوفر يسمح بإضافة صفوف جديدة و ليس للقراءة فقط. يمكنك كتابة التعليمات البرمجية للأحداث مثل BeforeAddDataBoundRow للتحقق من صحة البيانات . لمزيد من المعلومات، راجع كيفية القيام بما يلي: التحقق من صحة البيانات عند إضافة صف جديد إلى عنصر تحكم ListObject.

علاقة كائن القائمة بمصدر البيانات تسبب أحياناً أخطاء روتينية . على سبيل المثال، يمكنك تعيين الأعمدة التي تريد إظهارها في ListObject ، حتى إذا حذفت الأعمدة التي لها قيود مثل الحقل الذي لا يمكنه قبول القيم الخالية ، يتم رفع أخطاء في كل مرة يتم فيها إنشاء صف. يمكنك كتابة تعليمة برمجية لإضافة القيم المفقودة في معالج أحداث من أجل الحدث ErrorAddDataBoundRow .

إعادة تسمية عناصر تحكم ListObject في Excel

Excel تمكّن المستخدمين من تغيير اسم جداول Excel في وقت التشغيل باستخدام علامة التبويب تصميم. ومع ذلك، لا يدعم عنصر التحكم ListObject هذه الميزة. إذا حاول مستخدم إعادة تسمية جدول Excel الذي يتوافق مع ListObject ، سيعود اسم جدول Excel تلقائياً إلى اسمه الأصلي عند حفظ المصنف.

أحداث

الأحداث التالية متوفرة لعنصر التحكم ListObject:

راجع أيضًا:

المهام

كيفية القيام بما يلي: إضافة عناصر تحكم ListObject إلى أوراق العمل

كيفية القيام بما يلي: تغيير حجم عناصر تحكم ListObject

كيفية القيام بما يلي: التحقق من صحة البيانات عند إضافة صف جديد إلى عنصر تحكم ListObject

كيفية القيام بما يلي: تعيين أعمدة ListObject إلى بيانات

كيفية القيام بما يلي: تعبئة عناصر تحكم ListObject بالبيانات

كيفية القيام بما يلي: تعبئة أوراق العمل بالبيانات من قاعدة البيانات

المبادئ

أتمتة Excel عن طريق استخدام الكائنات الموسعة

توسيع مستندات Word ومصنفات Excel في وظائف إضافية على مستوى التطبيق في وقت التشغيل

إضافة عناصر تحكم إلى مستندات Office في وقت التشغيل

القيود البرمجية للعناصر مضيفة وعناصر التحكم

موارد أخرى

نماذج تطوير Office وإرشادات تفصيلية

ربط بيانات إلى عناصر تحكم في حلول Office

عناصر التحكم في مستندات Office