Hej,

W bazie danych mam trzy tabele, mieszkancy, zameldowania i pokoje.
W tabeli zameldowania mam: id, id_mieszkanca, id_pokoju (kto gdzie jest zameldowany).

teraz pobieram sobie wszystkie trzy tabele tak:

MySqlCommand selectZameldowania = new MySqlCommand("SELECT * FROM zameldowania", dbConn);
            selectZameldowania.CommandType = CommandType.Text;
            daZameldowania = new MySqlDataAdapter(selectZameldowania);
            daZameldowania.Fill(dsZameldowania, "Zameldowania");

            MySqlCommand selectMieszkancy = new MySqlCommand("SELECT * FROM mieszkancy", dbConn);
            selectZameldowania.CommandType = CommandType.Text;
            daMieszkancy = new MySqlDataAdapter(selectMieszkancy);
            daMieszkancy.Fill(dsZameldowania, "Mieszkancy");
            dsZameldowania.Tables["Mieszkancy"].Columns.Add("nazwiskoImie", typeof(string), "nazwisko + ' ' + imie");

            MySqlCommand selectPokoje = new MySqlCommand("SELECT * FROM pokoje", dbConn);
            selectPokoje.CommandType = CommandType.Text;
            daPokoje = new MySqlDataAdapter(selectPokoje);
            daPokoje.Fill(dsZameldowania, "Pokoje");

Dodaję relacje:

DataRelation ZameldowaniaMieszkancy = new DataRelation("ZamMiesz", dsZameldowania.Tables["Zameldowania"].Columns["id_mieszkanca"], dsZameldowania.Tables["Mieszkancy"].Columns["id"], false);
            DataRelation ZameldowaniaPokoje = new DataRelation("ZamPok", dsZameldowania.Tables["Zameldowania"].Columns["id_pokoju"], dsZameldowania.Tables["Pokoje"].Columns["id"], false);
            dsZameldowania.Relations.Add(ZameldowaniaMieszkancy);
            dsZameldowania.Relations.Add(ZameldowaniaPokoje);

I teraz chciałbym pod comboBox zbindować wszystkich mieszkańców.
Próbowałem czegoś takiego:

bsOsoba = new BindingSource();
            bsOsoba.DataSource = dsZameldowania;
            bsOsoba.DataMember = "Zameldowania";

            design.comboBoxFiltrOsoba.DataSource = bsOsoba;
            design.comboBoxFiltrOsoba.ValueMember = "id";
            design.comboBoxFiltrOsoba.DisplayMember = "ZamMiesz.nazwiskoImie";

W sensie, że zbindować pod ten comboBox tabelę zameldowania, ale wyświetlić dane z mieszkancy przez relację.
Niestety jeśli tak zrobić, to pokaże mi się tylko pierwszy rekord z tabeli mieszkancy w comboBoxie, zamiast wszystkich :<
Mógłbym to teoretycznie zrobić tak, że od razu wyświetliłbym w tym cboxie tabelę mieszkancy, ale chcę to bindować dalej, w sensie, że jeśli w tym comboBoxie wybiorę jakąś osobę, to relacja będzie zbindowana pod np. textBox w którym wyświetlę nazwisko tej osoby, żebym mógł je edytować (w innym textboxie imię, nr pokoju itd.).

Da się coś takiego zrobić? To ma być edycja zameldowań właśnie, dlatego zrobiłem relacje itp., bo potem chciałbym to w prosty sposób zapisywać dataAdapterem do bazy, czyli bez żadnego pisania zapytań itd.