Wypełnianie pola listy z drugiego zestawu rekordów
Domyślnie widok rekordu jest skojarzony z obiektem jednym zestawie rekordów, w których pola są mapowane na formanty widoku rekordu.Czasami należy umieścić pole listy lub pole kombi kontrolować w widoku rekordu i wypełnić ją z wartościami od drugiego obiektu zestawu rekordów.Użytkownika można użyć pola listy, aby wybrać nową kategorię informacje mają być wyświetlane w widoku rekordu.W tym temacie wyjaśniono, jak i kiedy to zrobić.
Porada |
---|
Należy pamiętać, że wypełniające pole kombi lub pole listy ze źródła danych może być wolne.Należy podjąć środki ostrożności w odniesieniu do wypełniania formantu z zestawu rekordów z dużą liczbę rekordów. |
Model dla tego tematu składa się z podstawowego zestawu rekordów, która wypełnia kontrolek formularza, aż dodatkowej rekordów wypełnienia pola listy lub pola kombi.Wybranie ciąg w polu listy powoduje, że program ponowić kwerendę podstawowego zestawu rekordów w oparciu o wybraną co.Poniższa procedura używa pola kombi, ale tak samo stosuje się do pola listy.
Aby wypełnić pole kombi lub pole listy z drugiego zestawu rekordów
Utworzenie obiektu zestawu rekordów (CRecordset dla ODBC, CDaoRecordset dla DAO).
Wskaźnik do uzyskania CComboBox obiektu formantu pola kombi.
Puste pole kombi wszelkie poprzednie treści.
Przechodzenie między wszystkich rekordów w zestawie rekordów wywoływania CComboBox::AddString dla każdego ciągu z bieżącym rekordem mają zostać dodane do pola kombi.
Inicjuje 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);
}
Funkcja drugi zestaw rekordów, m_courseSet, rekordu dla każdego kursu oferowane, w którym znajduje i CComboBox kontroli, m_ctlCourseList, który jest przechowywany w tej klasie rekordu widoku.
Funkcja pobiera m_courseSet z dokumentu i otwiera go.Opróżnia go, a następnie m_ctlCourseList i do przewijania m_courseSet.Dla każdego wybranego rekordu, funkcja wywołuje pole kombi AddString funkcję elementu członkowskiego, aby dodać wartość Identyfikatora kurs z rekordu.Na koniec kod ustawia kombi pola wyboru.