Hallo Forum!
Folgendes Problem: Ich habe in einem DataGridView eine ComboBox, welche mit sehr vielen Werten befüllt wurde ( ca. 5000 ). Darin stehen Nachnamen aus einer Adressen-Tabelle. Im Hintergrund jedes Nachnamens steht die ID der Adressen-Tabelle ( tbl_Adressen ). Wenn ich nun jedoch eine ComboBox mit der Maus auswähle und sie dropen lassen will, dauert dies wirklich sehr lange ( auf meinem Rechner ca. 2 Sek, auf langsameren Pcs noch länger ). Das kann ich meinen Benutzern eigentlich nicht wirklich zumuten, da in den meisten Fällen mehrere Zeilen angelegt werden, sowie jeweils ein Wert aus der ComboBox ausgewählt wird.
Hier mal der Verwendete Code:
Designer:
Windows Form:
Vielleicht habt ihr ja eine Idee .
Grüße, Sebbi
Folgendes Problem: Ich habe in einem DataGridView eine ComboBox, welche mit sehr vielen Werten befüllt wurde ( ca. 5000 ). Darin stehen Nachnamen aus einer Adressen-Tabelle. Im Hintergrund jedes Nachnamens steht die ID der Adressen-Tabelle ( tbl_Adressen ). Wenn ich nun jedoch eine ComboBox mit der Maus auswähle und sie dropen lassen will, dauert dies wirklich sehr lange ( auf meinem Rechner ca. 2 Sek, auf langsameren Pcs noch länger ). Das kann ich meinen Benutzern eigentlich nicht wirklich zumuten, da in den meisten Fällen mehrere Zeilen angelegt werden, sowie jeweils ein Wert aus der ComboBox ausgewählt wird.
Hier mal der Verwendete Code:
Designer:
Code:
'dgColSchulung_Teilnahme_Teilnehmer Definition im Desinger ' Me.dgColSchulung_Teilnahme_Teilnehmer.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.AllCells Me.dgColSchulung_Teilnahme_Teilnehmer.DataPropertyName = "tbl_Adressen_ID" Me.dgColSchulung_Teilnahme_Teilnehmer.DataSource = Me.Tbl_AdressenBindingSource Me.dgColSchulung_Teilnahme_Teilnehmer.DisplayMember = "Nachname" Me.dgColSchulung_Teilnahme_Teilnehmer.FillWeight = 200.0! Me.dgColSchulung_Teilnahme_Teilnehmer.HeaderText = "Teilnehmer" Me.dgColSchulung_Teilnahme_Teilnehmer.MaxDropDownItems = 30 Me.dgColSchulung_Teilnahme_Teilnehmer.MinimumWidth = 200 Me.dgColSchulung_Teilnahme_Teilnehmer.Name = "dgColSchulung_Teilnahme_Teilnehmer" Me.dgColSchulung_Teilnahme_Teilnehmer.Resizable = System.Windows.Forms.DataGridViewTriState.[True] Me.dgColSchulung_Teilnahme_Teilnehmer.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic Me.dgColSchulung_Teilnahme_Teilnehmer.ValueMember = "ID" Me.dgColSchulung_Teilnahme_Teilnehmer.Width = 200
Code:
'Es werden nur die Spalten Nachname, sowie ID befüllt, um nicht unnötige Daten zu übertragen. Me.Tbl_AdressenTableAdapter.FillEssential(Me.VerwaltungDataSet.tbl_Adressen)
Grüße, Sebbi