BindingSource AddNew()和初始化值

时间:2014-08-04 02:44:08

标签: c# winforms data-binding

我有一个绑定到绑定源的ComponentOne FlexGrid,绑定源绑定到绑定列表集合。

用户单击插入按钮。我在BindingSource上调用AddNew()。在AddingNew()事件中,我想初始化bindingsource中的属性。通常,如果我想访问网格行下面的数据,我会这样做

MemberSkill skill = (MemberSkill)MemberSkillBS.Current

skill.SocSecNo = currentMember.SocSecNo;

但是当我在AddingNew()事件中执行此操作时,Current仍然指向焦点在网格上的行。如何访问我添加到绑定源的新项目并初始化它?

1 个答案:

答案 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;
    }