Udostępnij za pośrednictwem


Wypełnianie pola listy z drugiego zestawu rekordów

Domyślnie widok rekord jest skojarzony z obiektem pojedynczego zestawu rekordów, których pola są mapowane na wyświetlanie rekordów formantów.Czasami chcesz umieścić pole listy lub pole kombi kontroli w widoku rekordu i wypełnić wartościami z drugiego obiektu recordset.Użytkownika można użyć w polu listy zaznacz nową kategorię informacji, aby wyświetlić w widoku rekordu.W tym temacie wyjaśniono, jak i kiedy nie jest to.

PoradaPorada

Należy pamiętać, że wypełnianie pola kombi lub pola listy źródła danych może być wolne.Środki ostrożności przeciwko próby wypełnienia kontroli z zestawu rekordów z dużej liczby rekordów.

Wzór ten temat składa się z podstawowego zestawu rekordów, która wypełnia formantów formularza, podczas gdy pomocniczy zestaw rekordów wypełnia pole listy lub pole kombi.Wybrać ciąg w polu listy powoduje, że program ponowić kwerendę podstawowego zestawu rekordów na podstawie co zostało zaznaczone.Poniższa procedura używa pola kombi, ale stosuje się jednakowo do pola listy.

Aby wypełnić pole kombi lub pole listy z drugiego zestawu rekordów

  1. Tworzenie obiektu zestaw rekordów (CRecordset dla ODBC, CDaoRecordset dla obiektów DAO).

  2. Wskaźnik do uzyskania CComboBox obiektu na formant pola kombi.

  3. Puste pole kombi wszelkich poprzednich treści.

  4. Przechodzenie między wszystkich rekordów w zestawie rekordów, wywołanie CComboBox::AddString dla każdego ciągu z bieżącego rekordu, który chcesz dodać do pola kombi.

  5. Zainicjuj zaznaczenie w polu kombi.

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);
}

Ta funkcja wykorzystuje drugi zestaw rekordów, m_courseSet, który zawiera rekord dla każdego kursu oferowane i CComboBox kontroli, m_ctlCourseList, który jest przechowywany w klasie rekordu widoku.

Funkcja zwraca m_courseSet z dokumentu i otwiera go.A następnie opróżnia on m_ctlCourseList i przewija m_courseSet.Dla każdego rekordu, funkcja zwraca pole kombi AddString Członkowskich funkcji, aby dodać wartość Identyfikatora kursu z rekordu.Wreszcie kod ustawia kombi, pola wyboru.

Zobacz też

Koncepcje

Widoki rekordu

Lista sterowników ODBC