BindingSource AddNew()和初始化值

本文关键字:初始化 AddNew BindingSource | 更新日期: 2023-09-27 18:16:17

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

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

MemberSkill skill = (MemberSkill)MemberSkillBS.Current
skill.SocSecNo = currentMember.SocSecNo;

但是当我在AddingNew()事件中这样做时,Current仍然指向焦点在网格上的行。如何访问添加到绑定源的新项并对其进行初始化?

BindingSource AddNew()和初始化值

调用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;
    }