Sdílet prostřednictvím


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

Výchozí zobrazení záznamu je přidružen k objektu recordset jeden, jehož pole jsou mapovány na prvky zobrazení záznamu.Někdy chcete vložit pole seznamu nebo pole se seznamem řízení v zobrazení záznamu a vyplnit hodnoty z druhého objektu recordset.Uživatele můžete použít pole seznamu vyberte novou kategorii informace zobrazíte v zobrazení záznamu.Toto téma vysvětluje, jak a kdy tento postup.

Tip

Uvědomte si, že vyplňování pole se seznamem nebo seznamu ze zdroje dat, může být pomalé.Opatření proti pokusu vyplnit ovládací sadu záznamů z velkého počtu záznamů.

Model pro toto téma se skládá z primárních záznamů, který vyplní ovládací prvky formuláře, zatímco sekundární recordset vyplní seznam nebo pole se seznamem.Řetězec výběrem ze seznamu způsobí, že program requery primární sady záznamů založeny na co byla vybrána.Následující postup používá pole se seznamem, ale platí také pro pole se seznamem.

Vyplnit pole se seznamem nebo seznamu z druhé sady záznamů

  1. Vytvoření objektu recordset (CRecordset pro ODBC, CDaoRecordset pro DAO).

  2. Získání ukazatele na CComboBox objektu pro ovládací prvek pole se seznamem.

  3. Vyprázdněte všechny předchozí obsah pole se seznamem.

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

  5. Inicializujte výběr 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á sada záznamů m_courseSet, obsahuje záznam pro každý kurz nabízí a CComboBox řízení, m_ctlCourseList, který je uložen v záznamu zobrazení třídy.

Funkce získává m_courseSet z dokumentu a otevře ji.Poté vyprázdní m_ctlCourseList a prochází m_courseSet.Pro každý záznam volá funkci pole se seznamem AddString členské funkce Přidat hodnotu ID kurzu ze záznamu.Nakonec kód nastaví seznamem pole výběru.

Viz také

Koncepty

Zobrazení záznamu

Seznam ovladačů ODBC