كيفية ربط عنصر تحكم DataGrid ArrayList من الكائنات أو بنيات باستخدام .NET Visual C++ أو Visual C++ 2005

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

816164
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.

للحصول على إصدار Microsoft Visual Basic .NET من هذه المقالة، راجع 316302.

للحصول على إصدار Microsoft Visual C# .NET من هذه المقالة، راجع 316303.

في هذه المهمة

الموجز
توضح هذه المقالة خطوة بخطوة حول كيفية ربط دراسي ArrayList الكائنات إلى عنصر تحكم DataGrid. المثال يتضمن نموذج Windows مع عنصر تحكم DataGrid لعرض قيم الخصائص الكائن وتضمين أربعة أزرار الأوامر استعراض الصفوف التحكم DataGrid.
back to the top

متطلبات

تفترض هذه المقالة كنت معتاداً على المواضيع التالية:
  • مرئي .NET C++ أو Visual C++ 2005 برمجة المفاهيم
توضح القائمة التالية الأجهزة الموصى بها برامج البنية الأساسية للشبكة و حزم الخدمات التي تحتاجها:
  • 2005 C++ .NET Microsoft Visual C++ أو Visual Microsoft
back to the top

تصميم فئة

لربط فئة إلى عنصر تحكم يجب أن يكون الفئة accessors الخاصية. يجب أن يحتوي أي خاصية ربط دالة getter دالة setter. تطبيق الخصائص باستخدام الدالة getter والدالة setter وقم بإعلام المحول البرمجي أن هذه هي الخاصية الدالات التي تستخدم الكلمة الأساسية __property. تحتوي فئة نموذج المستخدمة في هذه المقالة ثلاثة أعضاء:
__gc class Guitar{private:        String *make;        String *model;        short year;public:    Guitar(void);    ~Guitar(void);                Guitar(String *strMake, String *strModel, short shYear)        {            make = strMake;            model = strModel;            year = shYear;        }        __property String* get_Make()         {            return make;         }        __property void set_Make(String* val)        {            make = (val);         }        __property String* get_Model()        {             return model;         }        __property void set_Model(String* val)        {            model = (val);         }        __property short get_Year()        {             return year;         }        __property void set_Year(short shValue)        {            year = shValue;         }};
back to the top

إضافة مثيلات فئة إلى ArrayList

إنشاء مثيلات وإضافتها إلى فئة ArrayList اتبع الخطوات التالية:
  1. تقوم بتعريف دراسي ArrayList كما يلي:
    private: ArrayList *arrayList;
  2. في معالج الأحداث FormLoad إنشاء مثيلات الفئة ثم قم بإضافة المثيلات إلى فئة ArrayList كما يلي: //Create
    //Create an ArrayList.arrayList = new ArrayList();//Populate the array list.arrayList->Add(new guitar(S"GibSon",S"Les Paul",1958));arrayList->Add(new guitar(S"Fender",S"Jazz Bass",1958));arrayList->Add(new guitar(S"Guild",S"Bluesbird",1958));
back to the top

ربط في ArrayList DataGrid

بعد أن يتم تعبئة فئة ArrayList تعيين الخاصية DataSource لعنصر التحكم DataGrid إلى فئة ArrayList. يتم تعبئة الأعمدة الموجودة في عنصر التحكم DataGrid تستند إلى خصائص موجودة التي accessors الخاصية في النطاق.
// Bind the Array List to DataGrid.      dataGrid1->DataSource = arrayList;
back to the top

نقل عبر ArrayList

يمكنك استخدام فئة CurrencyManager للتنقل خلال فئة ArrayList. للقيام بذلك، تعريف متغير لفئة CurrencyManager كما يلي:
private: CurrencyManager *currencyManager;
اقتران فئة CurrencyManager مع الدالة BindingContext عنصر التحكم (في هذه الحالة، ArrayList). currencyManager
currencyManager = (CurrencyManager*)dataGrid1->BindingContext->Item[arrayList];
تحتوي فئة CurrencyManager خاصية موضع يمكنك معالجة تكرار عبر أعضاء الفئة ArrayList. عن طريق إضافة إلى أو طرح من القيمة الحالية الدالة الموضع, يمكنك التنقل عبر الصفوف التحكم DataGrid. للأمام //Move
//Move forward one element.currencyManager.Position++;//Move back one element.currencyManager.Position--;//Move to the beginning.currencyManager.Position = 0;//Move to the end.currencyManager.Position = arrayList.Count - 1;				
back to the top

مثال خطوة بخطوة

  1. بدء تشغيل Microsoft Visual Studio .NET 2003 أو Microsoft Visual Studio 2005.
  2. من القائمة ملف، أشر إلى جديد ثم انقر فوق المشروع.
  3. انقر فوق مشاريع Visual C++ ضمن أنواع Project ثم انقر فوق تطبيق نماذج Windows (.NET) ضمن قوالب.

    ملاحظة في Visual Studio 2005 ، انقر فوق Visual C++ ضمن أنواع Project ثم انقر فوق تطبيق نماذج Windows ضمن قوالب.
  4. في مربع النص اسم اكتب Q816164 ومن ثم انقر فوق موافق.
  5. في "مستكشف الحلول" بالتبديل إلى "طريقة عرض الفئة". للقيام بذلك، انقر فوق عرض فئة في القائمة عرض.
  6. انقر بزر الماوس الأيمن فوق Q816164 ، أشر إلى إضافة ثم انقر فوق إضافة فئة.
  7. في مربع الحوار إضافة فئة ، انقر فوق فئة C++ عام ضمن قوالب ثم انقر فوق فتح.

    ملاحظة في Visual Studio 2005 ، انقر فوق Cass C++ ضمن قوالب ثم انقر فوق إضافة.
  8. في "معالج فئة C++ عام" اكتب Guitar في مربع النص اسم فئة ثم انقر فوق إنهاء. يظهر فئة Guitar كما يلي:
    #pragma onceclass Guitar{public:	Guitar(void);	~Guitar(void);};
    ملاحظة في Visual Studio 2005 التعليمة البرمجية كما يلي.
    #pragma onceref class Guitar{public:	Guitar(void);};
    لجعل Guitar الفئة على "ملحقات مدارة" لفئة في C++ إضافة الكلمة الأساسية __gc قبل فئة Guitar كما يلي:
    __gc class Guitar{public:	Guitar(void);	~Guitar(void);};
  9. Replace the existing code in the Guitar.h file with the following code:
    #pragma onceusing namespace System;__gc class Guitar{private:        String *make;        String *model;        short year;public:    Guitar(void);    ~Guitar(void);                Guitar(String *strMake, String *strModel, short shYear)        {            make = strMake;            model = strModel;            year = shYear;        }        __property String* get_Make()         {            return make;         }        __property void set_Make(String* val)        {            make = (val);         }        __property String* get_Model()        {             return model;         }        __property void set_Model(String* val)        {            model = (val);         }        __property short get_Year()        {             return year;         }        __property void set_Year(short shValue)        {            year = shValue;         }};
    Note You must add the common language runtime support compiler option (/clr:oldSyntax) in Visual C++ 2005 to successfully compile the previous code sample. لإضافة الشائعة لغة وقت التشغيل دعم برنامج التحويل البرمجي الخيار في Visual C++ 2005 اتبع الخطوات التالية:
    1. انقر فوق Project ثم انقر فوق <ProjectName> خصائص.

      ملاحظة<ProjectName> عنصرًا نائبًا اسم المشروع.
    2. قم بتوسيع خصائص تكوين ثم انقر فوق عام.
    3. انقر لتحديد وقت تشغيل اللغة العامة دعم ، البناء القديمة (/ clr:oldSyntax) في الإعداد المشروع يعتمد "وقت تشغيل اللغة العامة" في الجزء الأيسر انقر فوق تطبيق ثم انقر فوق موافق.
    للحصول على مزيد من المعلومات حول وقت تشغيل اللغة العامة تعتمد الخيار برنامج التحويل البرمجي قم بزيارة موقع Microsoft التالي على الويب:
    / مسح (الترجمة وقت تشغيل اللغة العامة)
    http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx
  10. إغلاق إطار التعليمات البرمجية Guitar.h ومن ثم التبديل إلى "مصمم النموذج".
  11. إضافة عنصر تحكم DataGrid إلى Form1. حجم عنصر التحكم DataGrid لاحتواء أربعة أعمدة وصفوف الثلاثة.
  12. إضافة أربعة عناصر تحكم زر إلى Form1 ومن ثم ترتيب الأزرار أفقياً.
  13. تغيير الخاصية TextButton1 إلى التالي.
  14. تغيير الخاصية TextButton2 إلى السابق.
  15. تغيير الخاصية TextButton3 إلى الأول.
  16. تغيير الخاصية TextButton4 إلى آخر.
  17. افتح الملف Form1.h وقم بإضافة التعليمة البرمجية التالية في البداية:
    #include "Guitar.h"
  18. قم بإضافة التعليمات البرمجية التالية إلى فئة Form1:
    private: System::Collections::ArrayList *arrayList;	private: System::Windows::Forms::CurrencyManager *currencyManager;	
  19. التبديل إلى "مصمم نماذج" انقر بزر الماوس الأيمن فوق form1 ثم انقر فوق خصائص.
  20. انقر فوق رمز أحداث ومن ثم انقر نقراً مزدوجاً فوق الحدث Load لإضافة حدث Form1_Load إلى التعليمات البرمجية الخاصة بك.
  21. قم بلصق التعليمة البرمجية التالية في الحدث Form1_Load: //Create
    //Create an arraylist.arrayList = new ArrayList();arrayList->Add(new Guitar(S"GibSon",S"Les Paul",1958));arrayList->Add(new Guitar(S"Fender",S"Jazz Bass",1958));arrayList->Add(new Guitar(S"Guild",S"Bluesbird",1958));             currencyManager = dynamic_cast <CurrencyManager*>                 (dataGrid1->BindingContext->Item[arrayList]);// Bind the Array List to DataGrid.dataGrid1->DataSource = arrayList;
  22. التبديل إلى مصمم النموذج.
  23. انقر نقراً مزدوجاً فوق التالي ثم قم بإضافة التعليمة البرمجية التالية إلى الحدث button1_Click: //Move
    //Move to the next position.currencyManager->Position++;
  24. انقر نقراً مزدوجاً فوق السابق ، ثم قم بإضافة التعليمة البرمجية التالية إلى الحدث button2_Click: //Move
    //Move to the previous position.currencyManager->Position--;
  25. انقر نقراً مزدوجاً فوق الأول ثم قم بإضافة التعليمة البرمجية التالية إلى الحدث button3_Click: //Move
    //Move to the first position.currencyManager->Position =0;
  26. انقر نقراً مزدوجاً فوق آخر ثم قم بإضافة التعليمة البرمجية التالية إلى الحدث button4_Click: //Move
    //Move to the last position.currencyManager->Position = currencyManager->Count -1;
  27. إنشاء ثم قم بتشغيل المشروع.
  28. انقر فوق أزرار الأوامر للتنقل خلال صفوف التحكم DataGrid. لاحظ أنه يمكنك تحرير قيم الكائنات ، إذا كنت بحاجة إلى.
back to the top
مراجع
لمزيد من المعلومات حول العملاء من البيانات في النماذج Windows ، قم بزيارة موقع Microsoft على ويب المطور التالية:back to the top
شبكة البيانات أو صفيف ربط البيانات أو arraylist

تحذير: تمت ترجمة هذا المقال تلقائياً

خصائص

رقم الموضوع: 816164 - آخر مراجعة: 01/17/2015 06:52:20 - المراجعة: 2.2

  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • kbnosurvey kbarchive kbmt kbdatabinding kbcollections kbhowtomaster kbhowto KB816164 KbMtar
تعليقات