2010-09-10 113 views
1

我其中有一个叫局CurrentAgency属性又具有AgencyID,姓名等..像这样的对象建议:如何正确绑定到子对象?

Proposal 
    CurrentAgency 
     AgencyID 
     Name 
     Address 
     etc... 

在我的UI,我有一个组合框,列出了所有可用机构。我已经这样绑定它:

private BindingSource bndProposal = new BindingSource(); 
bndProposal.DataSource = typeof(Model.Proposal); 
lkpAgency.DataBindings.Add("EditValue", bndProposal, "CurrentAgency.AgencyID"); 
lkpAgency.Properties.DataSource = FusionLookups.LookupAgencies; 
lkpAgency.Properties.DisplayMember = "Name"; 
lkpAgency.Properties.ValueMember = "ID"; 

而且这工作得很好。如果用户更改了代理机构,则自动更新Proposal.CurrentAgency.AgencyID。但是,问题在于CurrentAgency对象的其余属性未更新。

什么是一些模式,用于处理这种情况,而不是用垃圾代码代码?我是否将绑定对象的Format事件处理?欢迎任何有关清洁实施的想法。

回答

1

您是否尝试过以下方法?

private BindingSource bndProposal = new BindingSource(); 
bndProposal.DataSource = typeof(Model.Proposal); 
lkpAgency.DataBindings.Add("EditValue", bndProposal, "CurrentAgency"); 
lkpAgency.Properties.DataSource = FusionLookups.LookupAgencies; 
lkpAgency.Properties.DisplayMember = "Name"; 
lkpAgency.Properties.ValueMember = null; 
相关问题