verwendetes Datenbanksystem: MS SQL 2005
Hallo,
ich bin mir nicht ganz im klaren, wie alte Threads man noch ausgraben soll, deswegen möchte ich hiermit auf diesen Thread : dataGridView: Master/Detail über CombobBox
verweisen
In der Tabelle 'leiht' ist id_Mitarbeiter der Fremdschlüsse(sowie zugleich ein Teilprimärschlüssel).
Das ganze habe ich nun mal bei mir versucht zu implementieren:
//DatenSet aufsetzen
leihtDataTable leihtDataSet = new LeihtTableAdapter();
leihtDataSet = leihtTableAdapter.GetData();
MitarbeiterTableAdapter mitarbeiterTableAdapter = new MitarbeiterTableAdapter();
MitarbeiterDataTable mitarbeiterDataSet;
mitarbeiterDataSet = mitarbeiterTableAdapter.GetData();
//Datenverbindung herstellen
BindingSource.DataSource = leihtDataSet;
dataGridView.DataSource = BindingSource;
//Variablen für die folgenden Anpassungen
DataGridViewComboBoxColumn combo;
int i1;
//registriere das Feld "Sendung_ID" der Tabelle "Musik"
i1 = leihtDataSet.Columns.IndexOf("id_Mitarbeiter");
//entferne es aus der Liste der Spalten
dataGridView.Columns.Remove("id_Mitarbeiter");
//erzeuge eine neue Spalte mit Querverweis auf Tabelle Sendung
combo = new DataGridViewComboBoxColumn();
combo.DataSource = mitarbeiterDataSet;
combo.ValueMember = "id_Mitarbeiter";
combo.DisplayMember = "Nachname";
combo.HeaderText = "id_Mitarbeiter";
combo.DataPropertyName = "Nachname";
//unterdrücke die DropDown-Bitmap
combo.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
//füge diese Spalte an der originalen Stelle ein
dataGridView.Columns.Insert(i1, combo);
Leider erhalte ich noch ein paar Probleme:
Könnt ihr mir hier weiter helfen?
Viele Grüße
MM
Hast du deine FKs/Relationen auch im DataSet definiert? Mit den richtigen Rules? Für die neue Spalte (DataGridViewComboBoxColumn) musst du denke ich auch noch den DataPropertyName, Display und Value Member richtig setzen.
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!
YARRRRRR!