Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  VBasic / vb.net / vbs / wsh
  DataGridView mit ComboBox-Zelle

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  DataGridView mit ComboBox-Zelle (1494 mal gelesen)
KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2657
Registriert: 06.11.2000

erstellt am: 20. Mai. 2015 15:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


DGV_DropDown.png

 
Hi Experten,
mal wieder eine Denksportaufgabe, für deren Lösung mir Google bisher nicht geholfen hat:

Für DataGridViews gibts unter anderem auch den Spaltentyp "DataGridViewComboBoxColumn".
Damit kann der User in jeder Zeile einen Wert aus einer vordefinierten Liste auswählen.
Ein schönes Beipsiel dazu gibt's hier: DatagridViewComboboxColumn mit Tooltip je Item.

Das ist schon mal sehr schön- aber wie üblich bin ich damit nicht zufrieden.
Das Problem: Die Vorschlagswerte gelten für die gesamte Spalte!

Ich brauche so eine ComboBox-Zelle, jedoch mit unterschiedlichen Items in jeder Zeile (Row) der Datagridview.

Anwendung:
Ich brauche eine Liste von SolidWorks-Dateien, die der User hinzufügen kann. Nun muss in jeder Zeile eine Combobox mit allen Konfigurationsnamen dieser jeweiligen Datei angeboten werden, aus denen dann der User die gewünschte Konfig. auswählen kann.
Die Konfigurationsnamen habe ich bereits als String() zur Verfügung, ich muss sie nur noch zur Auswahl in die DataGridView bringen.

Statt "Nix" sollen hier die Konfigurationen zur Auswahl stehen.

------------------
Klaus

www.al-ko.com | mein Gästebuch

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HenryV
Mitglied
Konstrukteur, Engineering


Sehen Sie sich das Profil von HenryV an!   Senden Sie eine Private Message an HenryV  Schreiben Sie einen Gästebucheintrag für HenryV

Beiträge: 778
Registriert: 18.05.2005

SolidWorks 2020 x64 SP3.0
Dell Precision 5820
Intel Xeon W-2125 4x4GHz
NVIDIA Quadro P2000 5GB
32GB RAM
2x Dell U2412M, 24" TFT
Windows 10 Enterprise x64 21H1
Microsoft Office 365 ProPlus
Microsoft Visual Studio Enterprise 2022

erstellt am: 21. Mai. 2015 16:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KMassler 10 Unities + Antwort hilfreich

Hallo Klaus

Vielleicht hilft dir dieses Beispiel weiter.

Different ComboBox in Each Row of DataGridView

Gruss Andreas

------------------
21 ist nur die halbe Antwort.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2657
Registriert: 06.11.2000

erstellt am: 17. Jun. 2015 10:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


myDGVComboboxWorkaround.png

 
Ahoi Henry,
danke für den Tipp. Und sorry für die Pause. Ich hatte in der Zwischenzeit einen kurzen Urlaub und ein bischen was anderes zu tun  

So ganz funktioniert das bei mir nicht:

  • in der Sub CreateDGV() erzeugen die beiden letzten Zeilen
    Code:
    dataGridView1.EditingControlShowing += New DataGridViewEditingControlShowingEventHandler(AddressOf dataGridView1_EditingControlShowing)
    dataGridView1.DataError += New DataGridViewDataErrorEventHandler(AddressOf dataGridView1_DataError)
    Fehler "....ist ein Ereignis und kann nicht direkt aufgerufen werden. ..."
  • Wenn ich diese Zeilen auskommentiere, läuft das Programm.
    Aber: die erste Combobox-Spalte ist eine ganz normale, bei der für die gesamte Spalte dieselben Items (First Name, Last Name, E-Mail) zur Auswahl stehen.
    In der Sub PopulatingDGV() wird eine lokale List(of Person) erstellt- die aber nirgendwo verwendet wird. Bei der 2. Combobox-Spalte sind keine Items vorhanden.
    [Edit]gerade habe ich es gefunden, die Werte aus der List(of Person) sollen in der Sub comboBox_SelectedIndexChanged als Items übenommen werden, bei mir funktioniert das nur nicht.[/Edit]

Im Moment habe ich mir einen Workaround gebastelt, dabei wird bei einem Click auf eine entsprechende Zelle (annähernd) an der Zellenposition ein zusätzlicher Dialog eingeblendet, der nur eine Combobox enthält, die wiederum abhängig von der Zeile befüllt ist.
Es ist nicht ganz super sauber gelungen, funktioniert aber...

------------------
Klaus

www.al-ko.com | mein Gästebuch

[Diese Nachricht wurde von KMassler am 17. Jun. 2015 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz