2016-03-29 11 views
0

Ich möchte eine DataGridView-Spalte erstellen, die mehrere Steuerelementobjekte enthält. Insbesondere möchte ich eine Spalte erstellen, die Folgendes enthält: ein Textfeld, ein Dropdown-Listenfeld, einige Kontrollkästchen und einige Optionsfelder.DataGridView-Spalte mit mehreren Steuerelementen (Radiobuttons, Kontrollkästchen, Dropdown-Listen usw.)

Ich habe etwas recherchiert und bin auf diese Seite gestoßen, http://www.codemag.com/article/0707061, die eine allgemeine Idee für das gibt, was ich tun muss, aber es ist ein wenig komplexer als das, wonach ich suche. Ich konnte keine Beispiele für das Hinzufügen mehrerer Steuerobjekte zu einer einzelnen Spalte finden.

Ich bin auf der Suche nach anderen Ressourcen, die ich verweisen kann, um mir bei dieser Aufgabe zu helfen.

Dies wird in Winforms getan.

Sieht so aus, als müsste ich ein benutzerdefiniertes DataViewGridCell für jedes Steuerelement erstellen, das ich möchte. Ich kann dann die .CellTemplate der Spalte auf diese Zelle setzen. Kann eine Spalte mehrere CellTemplates enthalten?

+0

Sind Sie dieses WinForms in wpf oder gerade? –

+0

Bearbeitet, um diese Informationen zu enthalten, dies ist in Winforms. @MichaelJamesRieger –

+0

Sicher können Sie eine benutzerdefinierte Spalte erstellen, die während der Bearbeitung ein zusammengesetztes Steuerelement in Zelle enthält. Anstatt jedoch eine solche Rasterspalte zu erstellen, können Sie eine Schaltflächenspalte verwenden und Werte in einem Fenster bearbeiten, das Sie über dem Raster öffnen. –

Antwort

0

Die kurze Version ist wie Sie vorgeschlagen. Es wäre eine benutzerdefinierte erstellen, dass Inherts von DataGridViewCell jede der Steuerelemente enthält, die Sie hinzufügen möchten. Stellen Sie dann die Vorlage auf diese Spalte ein.

DataGridViewColumn column = dataGridView.Columns[indexForYourColumn]; 
DataGridViewCell cell = new YourCustomDataGridViewCell(); 
column.CellTemplate = cell; 

Einige spezifische Ressourcen CellTemplate, verwenden CustomControls1, CustomControls2

+0

Wenn Sie sagen, erstellen Sie ein neues UserControl, meinen Sie, von UserControl zu erben? Wenn wir das tun, können wir DataGridViewCell auch nicht vererben, weil wir nicht mehrere Basisklassen haben können. –

+0

entsprechend aktualisiert, Unterschiede von WPF zu WinForms, schauen Sie sich einige Dokumentationen näher an –

Verwandte Themen