2012-10-04 5 views
5

Ich bin sehr neu in der Codierung. Jetzt werde ich dir über meine derzeitige Situation erzählen und wohin ich gehen möchte. Hoffe, du wirst helfen.Wie macht man zwei Wege-Datenbindung mit EF in Winforms?

Ich benutze EF5.0 Datenbank ersten Ansatz und ich möchte Gridviews für die Auflistung und Aktualisierung der Datenbankwerte verwenden können.

Derzeit bin Bindung ich meine Daten wie folgt aus:

pehlivan_kabametrajEntities ctx = new pehlivan_kabametrajEntities(); 
     var result = from k in ctx.Kolons 
        select k; 
     dataGridView1.DataSource = result.ToList(); 

Dieser Code perfekt meine Daten auflistet. Aber es ist falsch oder nicht genug für meine Bedürfnisse. Weil ich meine Daten direkt in der Gridview bearbeiten möchte. Bitte sagen Sie mir, was falsch ist und was ich tun soll. Zumindest Links von einigen Dokumenten, die mich zu dem Zielpunkt erreichen, den ich begehre, wären großartig. Thx.

+0

Was sind Sie haben ein Problem mit? 1) Nach dem Auffüllen der Gridview die Daten auf der Seite bearbeiten können? oder 2) die bearbeiteten Daten von der Seite und zurück in die Datenbank bringen? –

+0

Beide tatsächlich (: – Hasan

Antwort

3

Wenn Sie an das Abfrageergebnis binden, verwenden Sie nur eine unidirektionale Datenbindung. Sie benötigen IBindingList, um eine Zwei-Wege-Datenbindung zu erhalten. Versuchen Sie folgendes:

ctx.Kolons.Load(); 
dataGridView1.DataSource = ctx.Kolons.Local.ToBindingList(); 

Wenn es nicht versuchen, funktioniert BindingSource zu verwenden:

ctx.Kolons.Load(); 
gridBindingSource.DataSource = ctx.Kolons.Local.ToBindingList(); 
dataGridView1.DataSource = gridSource; 
+0

Es heißt, es gibt keine Definition für .Load() oder .ToBindingList(). Ich verwende VS2012 könnte diese Methode geändert werden? – Hasan

+0

Ich dachte, Sie verwenden EF5, die DbContext API bedeuten würde, aber es aussieht Sie verwenden nur .NET 4.5 und die alte API von ObjectContext –

+0

Eigentlich weiß ich nicht, was ich getan habe Ich habe ein ADO.NET-Entity-Datenmodell zu meinem Projekt hinzugefügt, indem ich die Datenbank zuerst verwendet habe und meinen Code erstellt habe Lernen Sie dieses Thema zu Beginn. Können Sie ein Tutorial oder etwas vorschlagen, um Dinge besser zu lernen? – Hasan

Verwandte Themen