Sdílet prostřednictvím


Naplnění seznamu z druhé sady záznamů

Ve výchozím zobrazení záznamu je přidružená k objektu jedné sady záznamů, jejichž pole jsou namapovány na ovládací prvky zobrazení záznamu.Někdy můžete chtít umístěte pole se seznamem nebo pole se seznamem ovládací prvek v zobrazení záznamu a vyplnit hodnoty z druhého objektu sady záznamů.Uživatel může vybrat novou kategorii informace zobrazené v zobrazení záznamu použít pole se seznamem.Toto téma vysvětluje, kdy a jak na to.

Tip

Je potřeba upozornit na vyplňování pole se seznamem nebo pole se seznamem ze zdroje dat může být pomalé.Preventivní opatření proti pokusu o ovládací prvek ze sady záznamů vyplnit velké množství záznamů.

Model pro toto téma se skládá z primární záznamů, který plní ovládacích prvků formuláře, zatímco sekundární záznamů vyplní celé pole se seznamem nebo pole se seznamem.Výběr řetězec ze seznamu způsobí, že váš program znovu spustit dotaz primární záznamů založené na co jste vybrali.Následující postup používá pole se seznamem, ale mají stejnou se vztahuje na pole se seznamem.

Chcete-li vyplnit pole se seznamem nebo pole se seznamem z druhé sady záznamů

  1. Vytvoření objektu sady záznamů (CRecordset pro rozhraní ODBC, CDaoRecordset pro objekt DAO).

  2. Získat ukazatele na CComboBox objekt pro prvek pole se seznamem.

  3. Prázdné pole se seznamem všech předchozích obsahu.

  4. Procházet všechny záznamy v sadě záznamů volání CComboBox::AddString pro každý řetězec z aktuální záznam, který chcete přidat do pole se seznamem.

  5. Inicializuje výběru v poli se seznamem.

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

Tato funkce využívá druhé sady záznamů m_courseSet, která obsahuje záznam pro jednotlivé kurzy, které jsou nabízeny a CComboBox ovládací prvek, m_ctlCourseList, který je uložen ve třídě zobrazení záznamu.

Získá funkce m_courseSet z dokumentu a otevře ji.Poté vyprázdní m_ctlCourseList a pomocí posouvá m_courseSet.Pro každý záznam volá funkci pole se seznamem AddString členské funkce pro přidání hodnoty ID kurzu ze záznamu.Na závěr kód nastaví pole se seznamem výběr pole obsaženo.

Viz také

Koncepty

Zobrazení záznamů

Seznam ovladačů ODBC