2011-01-05 10 views
1


ich eine Klasse sagenKlasse Instanz als neue Zeile in Datagridview (C#)

[Serializable] 
    public class Answer 
    { 
     [DisplayName("ID")] 
     public string ID { get; set; } 
     [DisplayName("Value")] 
     public string Value { get; set; } 
    } 

und ich habe eine Datagridview mit beschränkten Spalten der obigen Klasse hinzufügen.

Instanzen dieser Klasse Antwort wird bei Bedarf dynamisch erstellt. Wie aktualisiere ich Datagridview, wenn jede Instanz der Klasse erstellt wird.

ist es möglich, etwas in dieser Art zu tun.

dataGridView.Rows.Add(classInstance); 

Vielen Dank im Voraus,
Amit

Antwort

1

Ja, aber nicht so, wie Sie es tun.

Sie müssen Datenbindung verwenden. Jetzt

var ds = new BindingList<Answer>(); 
dgv.DataSource = ds; 

wenn Sie das tun:

So etwas wie die folgenden funktionieren sollte

ds.Add(new Answer { ... }); 

wird es hinzugefügt werden (wie man wollte).

+0

Ich versuchte die obige Lösung und es hat für mich funktioniert. –

+0

Ist es möglich, serialisierte XML statt Klasseninstanz zu verwenden, um dies zu erreichen? Ich deserialisiere die Xml-to-Class-Instanz und aktualisiere die Datagridview wie gesagt. –

+0

@Amit Shah: Ich schlage vor, Sie erstellen eine andere Frage. – leppie

Verwandte Themen