2010-12-07 14 views
0

Ich habe ein Formular mit einem DataGridview Steuerelement darauf.Symbole in DataGridView

Die Datagridview ist an eine DataView gebunden, die wiederum von einer DataTable aufgefüllt wird. Die App funktioniert gut in ihrem aktuellen Zustand, aber jetzt möchte ich sie ändern, um eine neue Spalte in die Datagridview einzuführen. Die neue Spalte soll ein Symbol sein.

Ich gehe davon aus, dass ich irgendwie eine neue Spalte für das Symbol in der DataTable erstellen muss, damit es zu der Datagridview fließen kann. Irgendeine Hilfe, wie ich das erreichen kann.

abgespeckte Version des Codes ist

private DataTable _tableDT = new DataTable("dt"); 
private DataView _viewDT = new DataView(); 

_viewDT.Table = _tableDT; 
_tableDT.Columns.Add("Name", typeof(string)); 
_tableDT.Columns.Add("Desc", typeof(string)); 

// populate data table 
_tableDT.Rows.Add(.....) 

dataGridView1.DataSource = _viewDT; 

Auch als zusätzliche Frage. Kann eine Spalte sowohl ein Symbol als auch einen Text enthalten? (d. h. idealerweise hätte die neue Spalte ein Symbol auf der linken Seite, gefolgt von etwas Text).

Antwort

0

Lesen Sie ein wenig davon. Es ist in VB, aber es ist leicht genug zu interpretieren.

http://arsalantamiz.blogspot.com/2008/04/how-to-display-row-icon-in-datagridview.html

Alternativ, wenn Sie das Bild in einer Datenbank lesen, können Sie bekommen nur die Datagridview die ganze harte Arbeit zu tun, einfach durch eine neue DataGridViewImageColumn Spalte hinzufügen. Durch Überschreiben des Ereignisses CellPainting können Sie das Bild basierend auf den Zeilendaten angeben.

http://social.msdn.microsoft.com/forums/en-US/Vsexpressvcs/thread/4f3c8d15-f1f5-4d62-9f26-8a04f683a210

hoffe, das hilft, Tom :)

+0

Also bin ich derzeit eine Datentabelle an die Datagridview.source binden. Das Datatable steuert also, welche Spalten zum Datagridview hinzugefügt werden. Wenn ich verstehe, dass Sie sich korrekt nähern, könnte ich diese Methode nicht verwenden, da ich explizit eine nicht gebundene Spalte hinzufügen müsste. –

+0

ahh - ignorieren Sie den letzten Kommentar. Ich scheine jetzt Fortschritte zu machen ... –

0

Sie this Tutorial von Microsoft nehmen und setzen Sie Ihren Usercontrol in sie als DataGridViewUserControlColumn.