real-insanity
Erfahrenes Mitglied
DropDown in ContextMenuStrip füllen & auswählen
Hallo zusammen,
ich hab da mal ein etwas kniffeligeres Problem(chen).
Aktuell baue ich an einer CD-Verwaltung für DJs, da ich diese auch selbst benötige und mir viel Arbeit abnimmt.
Zur zeit arbeite ich an einem Showplaner, mit dem ich meine Shos, Gigs etc planen kann.
Suche ich nun einen Track, kann ich diesen via Rechtsklick zu einer Show hinzufügen um später dann Tracklisten einer Show erstellen zu können. (Bilder zum Verständnis sind angefügt).
In diesem ContextMenu befindet sich eine DropDown mit den angelegten Shows die beim DropDown (cboShows_DropDown) gefüllt wird:
Das blöde ist nun, dass ich beim Auswählen der Show aus der Dropdown den Track in die DB schreibe:
Somit kommen sich die Events _DropDown und _SelectedIndexChanged in die Quere.
Klicke ich eine Show an, wird der Datensatz zweimal gespeichert.
Leider beiß ich mir daran die Zähne aus und weiß nicht mehr weiter.
Eventuell hat einer von Euch einen guten Ratschlag.
Lieben Gruß vom Niederrhein
Hallo zusammen,
ich hab da mal ein etwas kniffeligeres Problem(chen).
Aktuell baue ich an einer CD-Verwaltung für DJs, da ich diese auch selbst benötige und mir viel Arbeit abnimmt.
Zur zeit arbeite ich an einem Showplaner, mit dem ich meine Shos, Gigs etc planen kann.
Suche ich nun einen Track, kann ich diesen via Rechtsklick zu einer Show hinzufügen um später dann Tracklisten einer Show erstellen zu können. (Bilder zum Verständnis sind angefügt).
In diesem ContextMenu befindet sich eine DropDown mit den angelegten Shows die beim DropDown (cboShows_DropDown) gefüllt wird:
Code:
private void cboShows_DropDown(object sender, EventArgs e)
{
DataSet Shows = DataBaseHelper.LoadData("SELECT Shows.ID, Shows.Name FROM Shows WHERE Shows.DateTimeFrom >= datetime() ORDER BY Shows.DateTimeFrom");
cboShows.ComboBox.BindingContext = this.BindingContext;
if (Shows.Tables.Count > 0)
{
cboShows.ComboBox.DataSource = Shows.Tables[0];
cboShows.ComboBox.DisplayMember = "Name";
cboShows.ComboBox.ValueMember = "ID";
}
}
Das blöde ist nun, dass ich beim Auswählen der Show aus der Dropdown den Track in die DB schreibe:
Code:
private void cboShows_SelectedIndexChanged(object sender, EventArgs e)
{
if (cboShows.Items.Count > 0)
{
//DataBaseHelper.ExecuteQuery("INSERT INTO Shows_Tracks(FK_Track_ID, FK_Show_ID, DateTime) VALUES(" + dgvSearchResult.Rows[selectedRow].Cells["ID"].Value.ToString() + "," + ((System.Data.DataRowView)cboShows.SelectedItem).Row.ItemArray[0].ToString() + ",datetime());");
}
}
Somit kommen sich die Events _DropDown und _SelectedIndexChanged in die Quere.
Klicke ich eine Show an, wird der Datensatz zweimal gespeichert.
Leider beiß ich mir daran die Zähne aus und weiß nicht mehr weiter.
Eventuell hat einer von Euch einen guten Ratschlag.
Lieben Gruß vom Niederrhein
Anhänge
Zuletzt bearbeitet: