2012-03-31 3 views
1

これは私のプログラムの現在のクリップです。つまり、datagridviewはデータテーブルに接続されていないため、データビューグリッド上で何かを変更すると、データテーブルに反映されません。そのため、datagridviewの任意の編集をatleast datatableに反映させることができますか? (あなたのケースでは、テーブル)、あなたはBindingSourceオブジェクトを使用する必要があり、基になるデータソースに変更を伝播するために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; 

答えて

0

。これを行う方法の例は、リンク先ページの一番下にあります。

+0

私はdatatablesを取り除き、その代わりにdatagridview.source = list ...を持つリストバインディングを使用しましたが、私がdatagridviewを実行すると、それは私が既にdgv.readonly = false – Magikarp

+0

この場合は、代わりにBindingListを使用してください。http://msdn.microsoft.com/en-us/library/ms132679.aspx – Maciej

+0

バインディングリストでは、まだdatagridviewから値を編集できません:/今actioneventが必要ですか? – Magikarp

関連する問題