각 행에 콤보 박스를 사용하는 데이터 중계기가 있습니다. 추가 단추를 클릭하면 DataRepeater에 새 행이 추가됩니다.ComboBox DataRepeater 컨트롤 공유 선택한 인덱스
public enum ColorTypes {Red, Green, Yellow}
class LineItem
{
public ColorTypes Color {get;set;}
}
양식의 단추를 클릭하면 새 LineItem이 만들어지고 다시 바인딩됩니다.
private void btnAdd_Click(object sender, EventArgs e)
{
LineItem CopyItem = new LineItem();
CurrentList= ((List<LineItem>)dataRepeater.DataSource);
CurrentList.Add(CopyItem);
dataRepeater.DataSource = CurrentList;
}
이 올바르게입니다 DataRepeater에 새 행을 추가,하지만 지금은 변화 콤보 상자의 지수는 모두 행을 수정합니다. 수행해야 할 몇 가지 특수 바인딩이 있습니까?
Heres는 내 바인딩 코드 : 검색과 함께 일을 퍼팅의 LOT 후
this.cbPackage.DataSource = System.Enum.GetValues(typeof(ColorTypes));
this.cbPackage.DisplayMember = "Color";
방금 저에게 많은 시간을 절약했습니다. 보편적 인 지식에 대한 큰 도움 :) – Daniel
도움이 됨 : D – cgatian
ComboBox의 SelectedValue를 Entity Framework 객체 속성 (? int)에 바인딩 할 때 이상한 InvalidOperation 예외가 발생합니다. "컬렉션이 수정되었으므로 열거 연산이 실행되지 않을 수 있습니다 . " 이상하게 여기는 이유는 예외가 처리 된 후에 모든 것이 잘 작동한다는 것입니다. 하지만이 예외가 발생할 수있는 이유는 무엇입니까? 그것은 datarepeater (RepeaterBindingSource.DataSource == EFClass;)의 바인딩 소스에 EF 객체 (엔티티 목록)를 할당 할 때 발생합니다. 그리고 나는 이유를 모르겠다. – Daniel