Naplnění seznamu druhou sadou záznamů (přístup k datům MFC)
Ve výchozím nastavení je zobrazení záznamů přidružené k jednomu objektu sady záznamů, jehož pole jsou mapována na ovládací prvky zobrazení záznamů. Někdy můžete chtít vložit ovládací prvek seznamu nebo pole se seznamem do zobrazení záznamu a vyplnit ho hodnotami z druhého objektu sady záznamů. Uživatel může pomocí seznamu vybrat novou kategorii informací, která se zobrazí v zobrazení záznamu. Toto téma vysvětluje, jak a kdy to udělat.
Tip
Mějte na paměti, že vyplnění pole se seznamem nebo seznamu ze zdroje dat může být pomalé. Proveďte opatření proti pokusu o vyplnění ovládacího prvku ze sady záznamů velkým počtem záznamů.
Model pro toto téma se skládá z primární sady záznamů, která vyplní ovládací prvky formuláře, zatímco sekundární sada záznamů vyplní seznam nebo pole se seznamem. Výběr řetězce ze seznamu způsobí, že se váš program znovu dotazuje na primární sadu záznamů na základě toho, co bylo vybráno. Následující postup používá pole se seznamem, ale platí stejně pro seznam.
Vyplnění pole se seznamem nebo seznamu z druhé sady záznamů
Vytvořte objekt sady záznamů (CRecordset.
Získejte ukazatel na objekt CComboBox pro ovládací prvek pole se seznamem.
Vyprázdněte pole se seznamem jakéhokoli předchozího obsahu.
Projděte všechny záznamy v sadě záznamů a volejte CComboBox::AddString pro každý řetězec z aktuálního záznamu, který chcete přidat do pole se seznamem.
Inicializuje 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 používá druhou sadu záznamů, m_courseSet
která obsahuje záznam pro každý nabízený kurz, a CComboBox
ovládací prvek, m_ctlCourseList
který je uložen ve třídě zobrazení záznamů.
Funkce získá m_courseSet
z dokumentu a otevře ji. Pak vyprázdní m_ctlCourseList
a posune m_courseSet
se . U každého záznamu funkce volá členskou AddString
funkci pole se seznamem a přidá hodnotu ID kurzu ze záznamu. Nakonec kód nastaví výběr pole se seznamem.
Viz také
Zobrazení záznamů (přístup k datům MFC)
Seznam ovladačů ODBC