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 recordset jeden, jehož pole jsou mapovány na prvky zobrazení záznamu. Někdy chcete umístit seznam nebo pole se seznamem ovládání záznamu zobrazit a vyplnit hodnoty z druhého objektu recordset. Uživatele můžete použít pole se seznamem vyberte novou kategorii informace zobrazit v zobrazení záznamu. Toto téma vysvětluje, jak a kdy k tomu.

Tip

Uvědomte si, že vyplněním pole se seznamem nebo seznamu ze zdroje dat, může být pomalé. Opatření proti pokoušíte vyplnit velký počet záznamů řízení ze sady záznamů.

Model pro toto téma se skládá z primárních záznamů, který vyplní ovládacích prvků 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í co byl vybrán na základě záznamů. 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 objekt pro ovládací prvek pole se seznamem.

  3. Prázdné pole se seznamem předchozí obsah.

  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 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 zobrazení záznamu třída

Funkce získává m_courseSet z dokumentu a otevře jeho 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áznamů

Seznam ovladačů ODBC