BindingSource, DataSet 및 TableAdapter을 사용하여 데이터 바인딩 된 컨트롤에서 삽입을 처리하는 올바른 순서는 무엇입니까? 이것은 나를 영원한 혼란으로 몰고 간다.ADO.NET 데이터 바인딩 버그 - BindingSource.EndEdit() 현재 위치 변경
새 행을 추가하는 데 사용되는 양식이 있습니다.
양식을 보여주는 전에, 나는 전화 : 저장시
bindingSource.AddNew();
bindingSource.MoveLast();
, 내가 전화 :
bindingSource.EndEdit();
tableAdapter.Insert([the row given to me as bindingSource.Current]);
문제는 그
- 내가
EndEdit()
를 호출하지 않는 경우, 현재 포커스가있는 TextBox의 변경 내용은 저장되지 않습니다. EndEdit()
을 호출하면 BindingSource의 현재 멤버가 방금 추가 한 행을 더 이상 가리키지 않습니다.
I 수있는 BindingSource에 의해 업데이트 된 DataTable에 반대하지만 데이터 바인딩을 사용하는 목적을 패배로 형태의 값으로 코스 호출 Insert()
의. 이 기능을 사용하려면 무엇을해야합니까?
강력하게 형식화 된 데이터 집합을 사용하기 때문에 전체 데이터 집합에서 TableAdapter.Update()
을 호출 할 수 있다는 것을 알고 있습니다. 테이블에 외래 키가 있는데, 데이터 바인딩이되어 있지 않으며 Insert()를 호출하기 전에 추가하고 있습니다.