Mixing-cell-Typen in einer DataGridViewColumn
Ist es möglich, sowohl die DataGridViewComboBoxCells und DataGridViewTextBoxCells in einem einzigen DataGridViewColumn? Oder bin ich absolut beschränkt zu haben, eine Art pro Spalte?
- es ist eine Art pro-Spalte für alle, die ich kenne. Sie würden wahrscheinlich haben, um Erben von DataGridView aktivieren, mischen verschiedener Typen von bis.
- Es gibt einige workarounds - haben Sie einen Blick auf sommergyll.com/datagridview-usercontrols/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist eine seltsame Lösung.
Standardmäßig erstellen die Spalte als Textfeld.
Behandeln der Zelle oder klicken Sie auf Zelle enter-Ereignis.
Im Falle, wenn der ColumnIndex entspricht, Konvertieren Sie die Spalte Typ zur ComboBox-Steuerelement und legen Sie die Elemente.
Sobald die Zelle verlassen-Ereignis feuert aus der jeweiligen Spalte index, konvertiert Sie zurück in das Textfeld ein.
Vergessen Sie nicht, Lesen Sie den text aus der Combo vor der Konvertierung und legen Sie es auf TextBox.
Ich weiß, das ist nicht apt-Lösung, aber Sie funktioniert.
Ich bin begierig zu wissen, wenn jemand hat eine bessere Idee.
Fragesteller EDIT:
Hier war der code, den ich letztendlich schrieb:
Auch beim erstellen der Spalte, ich musste sicherstellen, dass es wurde eine generische Spalte; d.h. nicht eine DataGridViewTextBoxColumn:
So, ich könnte sich ändern, die CellTemplate später.