c#Datagridview绑定源

c#Datagridview绑定源,c#,visual-studio-2010,C#,Visual Studio 2010,这是我程序的当前剪辑,实际上,datagridview与datatable断开连接,因此如果我在dataviewgrid上更改任何内容,它将不会反映在datatable中。。。如何使datagridview上的任何编辑都能够反映到datatable中 OpenFileDialog OFD = new OpenFileDialog(); OFD.Title = "CSV File"; OFD.Filter = "Spreadsheet | *.csv

这是我程序的当前剪辑,实际上,datagridview与datatable断开连接,因此如果我在dataviewgrid上更改任何内容,它将不会反映在datatable中。。。如何使datagridview上的任何编辑都能够反映到datatable中

        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;
OpenFileDialog OFD=newopenfiledialog();
OFD.Title=“CSV文件”;
OFD.Filter=“电子表格|*.csv”;
ShowDialog();
FileHelperEngine=new FileHelperEngine(类型(csv_座位计划));
尝试
{
csv_SeatingPlan[]容器=engine.ReadFile(OFD.FileName)作为csv_SeatingPlan[];
CSV_座位计划=新列表(容器);
DataTable DT_student_Records=新数据表();
DT_student_Records.Columns.Add(“考试期间”,typeof(字符串));
DT_student_Records.Columns.Add(“考试代码”,typeof(字符串));
DT_student_Records.Columns.Add(“student_ID”,typeof(string));
DT_student_Records.Columns.Add(“student_Name”,typeof(string));
DT_student_Records.Columns.Add(“候选者编号”,typeof(字符串));
foreach(csv\座位计划中的csv\座位计划行)
{
DT_student_Records.Rows.Add(row.examperiod,row.exam_Code,row.id_student,row.name_student,row.candidatenum_student);
}
DT_student_Records.DefaultView.Sort=“候选人编号ASC”;
this.dataGridView1.DefaultCellStyle.Font=新字体(“Tahoma”,11);
//bindingCSVSP.DataSource=DT_student_记录;
this.dataGridView1.DataSource=DT_student_记录;

以便将您的更改传播到基础数据源(在您的情况下为表),您应该使用该对象。如何执行此操作的示例位于链接页面的底部。

嘿,我去掉了datatables,而是使用列表绑定,使用datagridview.source=list…但是当我运行datagridview时,它不允许我更改任何内容,即使我已经使用了dgv.readonly=false。在这种情况下,请使用BindingList取而代之:我做了,但是bindinglist仍然不能让我编辑datagridview中的值:/它现在需要actionevent吗?啊,很抱歉,我刚才读了一个示例,它说我需要添加EventHandler…AddingNewHandler和ListChangedEventHandler很抱歉,很麻烦。谢谢,没有问题。很高兴我能提供帮助