Laden...

[Nachfrage zu]DataGridView: Master/Detail über ComboBox

Erstellt von MrMilk vor 15 Jahren Letzter Beitrag vor 15 Jahren 581 Views
M
MrMilk Themenstarter:in
75 Beiträge seit 2008
vor 15 Jahren
[Nachfrage zu]DataGridView: Master/Detail über ComboBox

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:

  • Die alte Spalte wird nicht gelöscht
  • Die neue Spalte enthält keine Werte (wird aber an der passenden Stelle eingesetzt)

Könnt ihr mir hier weiter helfen?

Viele Grüße
MM

1.200 Beiträge seit 2007
vor 15 Jahren

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!