ADO DataRelation wyświetlanie

0

W taki sposób pobieram dane z bazy i ustawiam odpowiednie relacje pomiędzy nimi:

public bool pobierzZameldowania(DataGridView dgv)
        {

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

            MySqlCommand selectMieszkancy = new MySqlCommand("SELECT * FROM mieszkancy", dbConn);
            selectZameldowania.CommandType = CommandType.Text;
            MySqlDataAdapter daMieszkancy = new MySqlDataAdapter(selectMieszkancy);
            daMieszkancy.Fill(ds, "Mieszkancy");

            DataRelation ZameldowaniaMieszkancy = new DataRelation("ZamMiesz", ds.Tables["Zameldowania"].Columns["id_mieszkanca"], ds.Tables["Mieszkancy"].Columns["id"]);
            ds.Relations.Add(ZameldowaniaMieszkancy);


return true; 

}

I teraz mam pytanie, co dalej można z tym zrobić?
Jeśli mam już tabele i relacje pomiędzy nimi, to w jaki sposób wyświetlić to (odpowiednio do relacji) w np. dataGridView?

1

Tutaj masz fajny prosty przykład jak tworzyć widoki master-detail
karpik.magma-net.pl/lekcje/Lekcja4/Lekcja4.pdf

Pozdrawiam,
Zoritt

0

Dzięki, dużo mi to wyjaśniło ;)

Ale mam jeszcze jedno pytanie, w pdfie jest pokazane bindowanie pod dataGridView.
A gdybym chciał np. zrobić dwa comboBoxy, imie i nazwisko.
Z bazy pobieram tabelę w której mam id, imie, nazwisko.
Do pierwszego comboBoxa wrzucam nazwiska (to już mam), a teraz przy wybraniu nazwiska chcę żeby do drugiego comboBoxa wrzuciło mi listę imion osób z takim nazwiskiem, da się to zrobić?

Lub ewentualnie inna opcja, jeden comboBox, gdzie będę miał od razu Imie nazwisko.

Teraz mam tak:

BindingSource bsNazwisko = new BindingSource();
            bsNazwisko.DataSource = dsZameldowania;
            bsNazwisko.DataMember = "Mieszkancy";

            design.comboBoxFiltrNazwisko.DataSource = bsNazwisko;
            design.comboBoxFiltrNazwisko.ValueMember = "id";
            design.comboBoxFiltrNazwisko.DisplayMember = "nazwisko";

I nie wiem jak zrobić żeby zamiast samego nazwiska wyświetlać Imię Nazwisko.

1 użytkowników online, w tym zalogowanych: 0, gości: 1