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