تعبئة مربع قائمة من مجموعة سجلات ثانية .

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

تلميحتلميح

يجب أن تدرك ان تعبئة مربع التحرير والسرد أو قائمة من بيانات المصدر قد يكون بطيئاً. اتخذ الاحتياطات مقابل محاولة تعبئة عنصر تحكم من مجموعة سجلات بعدد كبير من السجلات.

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

لتعبئة مربع التحرير والسرد أو مربع القائمة من مجموعة سجلات ثانية

  1. أنشىء كائن مجموعة السجلات (CRecordset لـ ODBC ، CDaoRecordset لـ DAO).

  2. قم بالحصول على مؤشر للكائن CComboBox لعنصر تحكم مربع التحرير والسرد.

  3. أفرغ أي محتويات سابقة لمربع تحرير وسرد.

  4. انتقل عبر كافة السجلات في مجموعة السجلات مستدعياً CComboBox::AddString لكل سلسلة من السجل الحالي الذي تريد إضافته إلى مربع التحرير والسرد.

  5. قم بتهيئة الاختيار في مربع التحرير والسرد.

void CSectionForm::OnInitialUpdate()
{
    // ...

    // Fill the combo box with all of the courses
    CENROLLDoc* pDoc = GetDocument();
    if (!pDoc->m_courseSet.Open())
        return;

    // ...

    m_ctlCourseList.ResetContent();
    if (pDoc->m_courseSet.IsOpen())
    { 
        while (!pDoc->m_courseSet.IsEOF() )
        {
            m_ctlCourseList.AddString(
                pDoc->m_courseSet.m_CourseID);
            pDoc->m_courseSet.MoveNext();
        }
    }
    m_ctlCourseList.SetCurSel(0);
}

هذه الدالة تستخدم مجموعة سجلات ثانية m_courseSet ، التي تحتوي على سجل عن كل دورة تدريبية مقدمة ، و عنصر تحكم CComboBox،m_ctlCourseList الذي يتم تخزينه في فئة عرض السجلات

تحصل الدالة على m_courseSet من المستند و تقوم بفتحه. ثم تقوم بإفراغ m_ctlCourseList والقيام بالتمرير عبر m_courseSet. لكل سجل، تستدعي الدالةُ دالةَ العضو AddString الخاصة بمربع التحرير والسرد لإضافة قيمة معرّف الدورة التدريبية من السجل. وأخيراً، تعين التعليمات البرمجية تحديد مربع التحرير والسرد.

راجع أيضًا:

المبادئ

طرق عرض سجل

قائمة برامج تشغيل ODBC