3
我有一個數據中繼器,每行使用組合框。當你點擊Add按鈕時,它會向DataRepeater添加一個新行。組合框在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添加一個新行,但現在更改combobox的索引會修改兩個行。你需要執行一些特殊的綁定嗎?
繼承人我綁定代碼:
this.cbPackage.DataSource = System.Enum.GetValues(typeof(ColorTypes));
this.cbPackage.DisplayMember = "Color";
你剛剛爲我節省了大量的時間。除了通用知識:) – Daniel
很高興能幫到:D – cgatian
將ComboBox的SelectedValue綁定到實體框架對象屬性(?int)時,我得到一個奇怪的InvalidOperation異常:「集合被修改;枚舉操作可能無法執行「。我覺得奇怪的原因是,在異常處理後,一切正常。但是什麼會導致這種異常?當我將EF對象(即實體列表)分配給datarepeater的綁定源(RepeaterBindingSource.DataSource == EFClass;)時,會發生這種情況。我根本不知道爲什麼...... – Daniel