2012-03-31 9 views
1

Dies ist ein aktueller Clip meines Programms, so wie es ist, ist die Datagridview auf die Datentabelle getrennt, so dass, wenn ich etwas an der dataviewgrid ändern, wird es nicht in der Datentabelle widerspiegeln ... Wie kann ich es machen so dass alle Änderungen an der Datagridview zu mindestens der Datentabelle reflektiert werden können?C# Datagridview Bindingsource

 OpenFileDialog OFD = new OpenFileDialog(); 
     OFD.Title = "CSV File"; 
     OFD.Filter = "Spreadsheet | *.csv"; 
     OFD.ShowDialog(); 

     FileHelperEngine engine = new FileHelperEngine(typeof(csv_SeatingPlan)); 
     try 
     { 
      csv_SeatingPlan[] container = engine.ReadFile(OFD.FileName) as csv_SeatingPlan[]; 
      CSV_Seating_Plan = new List<csv_SeatingPlan>(container); 

      DataTable DT_student_Records = new DataTable(); 
      DT_student_Records.Columns.Add("Exam_Period", typeof(string)); 
      DT_student_Records.Columns.Add("Exam_Code", typeof(string)); 
      DT_student_Records.Columns.Add("Student_ID", typeof(string)); 
      DT_student_Records.Columns.Add("Student_Name", typeof(string)); 
      DT_student_Records.Columns.Add("Candidate_Number", typeof(string)); 


      foreach (csv_SeatingPlan row in CSV_Seating_Plan) 
      { 
       DT_student_Records.Rows.Add(row.examperiod, row.exam_Code, row.id_Student, row.name_Student, row.candidatenum_Student); 
      } 

      DT_student_Records.DefaultView.Sort = "Candidate_Number ASC"; 
      this.dataGridView1.DefaultCellStyle.Font = new Font("Tahoma", 11); 
      //bindingCSVSP.DataSource = DT_student_Records; 
      this.dataGridView1.DataSource = DT_student_Records; 

Antwort

0

Um Ihre Änderungen an der zugrunde liegenden Datenquelle (die Tabelle in Ihrem Fall) zu verbreiten, sollten Sie das BindingSource Objekt verwenden. Ein Beispiel dafür ist unten auf der verlinkten Seite.

+0

hey, ich habe die Datatables los und benutze stattdessen Listenbindung mit datagridview.source = list ... aber wenn ich den datagridview starte, erlaubt es mir nichts zu ändern, obwohl ich bereits dgv.readonly = hatte false – Magikarp

+0

In diesem Fall, verwenden Sie stattdessen die BindingList: http://msdn.microsoft.com/en-us/library/ms132679.aspx – Maciej

+0

Ich tat, aber die Bindungsliste noch nicht mich bearbeiten die Werte aus der datagridview:/tut es Brauchen Sie jetzt ein Actionevent? – Magikarp

Verwandte Themen