【问题标题】:Use same BindingSource for list and input?对列表和输入使用相同的 BindingSource?
【发布时间】:2016-06-25 03:47:51
【问题描述】:

我有以下两个课程:

public class CustomerList
{
    public string Name { get; set; }
    public ICollection<Customer> Customers { get; set; }

    public CustomerList()
    {
        Customers = new List<Customer>();
    }
}

public class Customer
{
    public string Name { get; set; }
    public string Surname { get; set; }
}

我有一个带有绑定源、列表视图和 2 个文本框控件的表单。绑定源的数据源(如果是客户)。列表视图的数据源是绑定源本身,而文本框控件的数据绑定是各自的客户属性。

在运行时,bindingsource 数据源变为:

customerList = new CustomerList();
bindingSource.Datasource = customerList.Customers;

然后我开始在控件中输入文本并单击“保存”按钮,我调用“bindingSource.EndEdit()”。然而什么都没加?

这不是将绑定源与列表和编辑控件一起使用的正确方法吗?

【问题讨论】:

标签: c# winforms data-binding


【解决方案1】:

如果您将 CustomerList 更改为 ObservableCollection,它将起作用。当项目被更改、添加和删除时,observablecollection 将能够通知 ListView。

它可能还需要您在 TextBox 上的绑定表达式中添加“mode=twoway”,我不记得了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    相关资源
    最近更新 更多