我有一个绑定到绑定源的ComponentOne FlexGrid,绑定源绑定到绑定列表集合。
用户单击插入按钮。我在BindingSource上调用AddNew()。在AddingNew()事件中,我想初始化bindingsource中的属性。通常,如果我想访问网格行下面的数据,我会这样做
MemberSkill skill = (MemberSkill)MemberSkillBS.Current
skill.SocSecNo = currentMember.SocSecNo;
但是当我在AddingNew()
事件中执行此操作时,Current仍然指向焦点在网格上的行。如何访问我添加到绑定源的新项目并初始化它?
答案 0 :(得分:2)
新项目成为调用AddNew
后的当前项目。
在Insert
按钮处理程序中执行:
private void buttonInsert_Click(object sender, EventArgs e)
{
MemberSkill newItem = MemberSkillBS.AddNew() as MemberSkill;
if (newItem != null)
{
MemberSkillBS.Add(newItem);
}
...
}
并在你的AddingNew
处理程序中执行:
private void MemberSkillBS_AddingNew(object sender, AddingNewEventArgs e)
{
MemberSkill skill = new MemberSkill
{
SocSecNo = MemberSkillBS.Current.SocSecNo
};
e.NewObject = skill;
}