Wypełnianie pola listy z drugiego zestawu rekordów (dostęp do danych MFC)
Domyślnie widok rekordu jest skojarzony z pojedynczym obiektem zestawu rekordów, którego pola są mapowane na kontrolki widoku rekordów. Czasami możesz umieścić pole listy lub kontrolkę pola kombi w widoku rekordu i wypełnić ją wartościami z drugiego obiektu zestawu rekordów. Użytkownik może użyć pola listy, aby wybrać nową kategorię informacji do wyświetlenia w widoku rekordu. W tym temacie wyjaśniono, jak i kiedy to zrobić.
Napiwek
Należy pamiętać, że wypełnienie pola kombi lub pola listy ze źródła danych może być powolne. Podejmij środki ostrożności przed próbą wypełnienia kontrolki z zestawu rekordów z dużą liczbą rekordów.
Model dla tego tematu składa się z podstawowego zestawu rekordów, który wypełnia kontrolki formularza, a pomocniczy zestaw rekordów wypełnia pole listy lub pole kombi. Wybranie ciągu z pola listy powoduje ponowne zapytanie podstawowego zestawu rekordów w oparciu o to, co zostało wybrane. Poniższa procedura używa pola kombi, ale jest stosowana równie do pola listy.
Aby wypełnić pole kombi lub pole listy z drugiego zestawu rekordów
Utwórz obiekt zestawu rekordów (CRecordset.
Uzyskaj wskaźnik do obiektu CComboBox dla kontrolki pola kombi.
Opróżnij pole kombi dowolnej poprzedniej zawartości.
Przejdź przez wszystkie rekordy w zestawie rekordów, wywołując polecenie CComboBox::AddString dla każdego ciągu z bieżącego rekordu, który chcesz dodać do pola kombi.
Zainicjuj 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);
}
Ta funkcja używa drugiego zestawu rekordów , m_courseSet
który zawiera rekord dla każdego oferowanego kursu oraz kontrolkę CComboBox
, m_ctlCourseList
która jest przechowywana w klasie widoku rekordów.
Funkcja pobiera m_courseSet
z dokumentu i otwiera ją. Następnie opróżnia m_ctlCourseList
i przewija m_courseSet
plik . Dla każdego rekordu funkcja wywołuje funkcję składową pola AddString
kombi, aby dodać wartość identyfikatora kursu z rekordu. Na koniec kod ustawia zaznaczenie pola kombi.
Zobacz też
Widoki rekordów (dostęp do danych MFC)
Lista sterowników ODBC
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla