优先考虑清楚 BindingSource 属性的值是否正确,确保与数据源的数据类型匹配,避免类型转换错误。代码示例:
// 初始化 BindingSource,用于显示数据 BindingSource bindingSource = new BindingSource(); bindingSource.DataSource = typeof(Student); bindingSource.DataSource = GetStudentList(); // GetStudentList() 返回的是 Student 列表
// 修改了 Student 对象的某个属性后,调用 BindingSource 更新 Student student = (Student)bindingSource.Current; student.Name = "Tom"; bindingSource.EndEdit(); // 提交修改 Save(student); // 保存到数据库或文件
// 可能出现错误的地方 // 1、BindingSource 属性设置错误 bindingSource.DataSource = GetTeacherList(); // GetTeacherList() 返回的是 Teacher 列表,类型不匹配 // 2、没有提交修改 bindingSource.EndEdit(); // 没有调用这个方法提交修改 // 3、类型转换错误 bindingSource.DataSource = GetStudentList(); Teacher teacher = (Teacher)bindingSource.Current; // 转换类型错误,可能会抛出异常