2016-03-10 3 views
0

у меня есть следующие классы: 2Использовать тот же BindingSource для списка и ввода?

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

У меня есть форма с привязкой источника, ListView и 2 управления TextBox. Источник данных для источника привязки, если Клиент. Источником данных для списка является сам источник bindingsource, тогда как привязки данных для элементов управления текстовыми полями являются соответствующими свойствами клиента.

Во время выполнения, изменения BindingSource DataSource к:

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

Я тогда начните вводить текст в контрольной группе и нажмите кнопку Сохранить, я называю bindingSource.EndEdit() '. Однако ничего не добавлено?

Это неправильный способ использования источника связывания с элементами управления списком и редактирования?

+0

посмотрите здесь http://www.wpf-tutorial.com/data-binding/responding-to-changes/ –

+0

WinForms или WPF? –

ответ

0

Если вы измените свой список клиентов на ObservableCollection, он будет работать. Наблюдаемый коллектив сможет уведомлять ListView о том, когда элементы были изменены, добавлены и удалены.

МОЖЕТЕ также потребовать, чтобы вы добавили «режим = twoway» к вашему выражению привязки в TextBox, я не помню этого с головы.

Смежные вопросы