2012-04-01 8 views
1

Ich schreibe eine Winforms-Anwendung in C# (.NET 4.0, mit EntityFramework).Wie erstellt man eine DGV-Spalte, die eine Eigenschaft aus partieller Klasse anzeigt?

Ich wollte eine berechnete Eigenschaft zu einer Entität hinzufügen, die ich mit einer partiellen Klasse. Ich kann neue Eigenschaft von Code, aber nicht von Designer (Datenquelle, edmx, datagridview, ...) zugreifen. Meine Datagrid-Ansicht ist an eine Entitätsbindungsquelle gebunden (z. B. employeeBindingSource).

Ich möchte meine berechnete Eigenschaft (aus partiellen Klasse) zu Datagridview als eine schreibgeschützte Spalte hinzufügen. Die einzige Lösung, die ich bis jetzt gefunden habe, ist für mich sehr unordentlich (Properties in partial class not appearing in Data Sources window!). Ich würde die Spalte lieber programmatisch hinzufügen.

Wie soll ich das angehen?

Vielen Dank für Ihre Zeit und Antworten.

Antwort

1

Was ich getan habe, war normalerweise so weit wie möglich die Datagridview in Designer zu entwerfen (alle Spalten außer denen aus partiellen Klassen). Da ist in meinem Usercontrol (oder Form oder was auch immer Sie haben) Konstruktor:

//in constructor 
datagridview.AutoGenerateColumns = true; 

dann in meinem Lastfall meiner Usercontrol Ich verstecke unerwünschte Spalten, die ich habe, weil ich dgv.AutoGenerateColumns gesetzt = true; Und ändern Sie auch Header-Text (oder was auch immer Sie brauchen) der Spalte aus partiellen Klasseneigenschaften.

//load event 
employeeDataGridView.Columns[11].Visible = false; 
employeeDataGridView.Columns[12].HeaderText = "Partial class prop"; 

Ich hoffe, es wird jemandem helfen.

Verwandte Themen