Combobox не показывает новые записи - PullRequest
2 голосов
/ 02 февраля 2011

Привет
У меня проблема с использованием структуры сущности + источник привязки + поле со списком.
Я связываю сущность с источником привязки, который является источником данных элемента управления Combobox, проблема возникает, когда я добавляю новый элемент в контекст, как это:

myEntity ent =new myEntity() { entName="aaaa" };

ctx.AddObject('myEntitySetName',myEntity);

ctx.SaveChanges();  

В поле со списком не отображается новая запись ... как я могу обновить источник данных этого элемента управления?
Я попробовал это:

myComboBox.DataSource = myBindingSource.DataSource;  

Работает нормально для первой операции добавления и показывает новую запись, но когда я добавляю вторую и третью ... и т. Д., Ничего не происходит ... данные сохраняются в базу данных правильно, но никогда не указываются в выпадающем списке ... .

Любая помощь?

Ответы [ 2 ]

1 голос
/ 02 февраля 2011

Вам необходимо использовать BindingList в качестве источника данных для вашего BindingSource.

Затем просто используйте методы BindingList для добавления, удаления, вставки и т. Д.

0 голосов
/ 02 февраля 2011

Спасибо @leppie, это было здорово. Я не знаю, правильно ли это, но я использовал класс BindonList следующим образом:

BindingList<myEntity> bl = bl = new BindingList<myEntity>(ctx.myEntitySet.ToList<myEntity>());

myBindingSource.DataSource = bl;  

Код кнопки сохранения стал таким:

myEntity ent = new myEntity() { name = textBox1.Text };

ctx.AddObject("myEntitySet", ent);  

bl.Add(ent);

ctx.SaveChanges();  

Если это правильно, это будет супер здорово, если это не так, это будет достаточно хорошо, но мне нужно знать, правильно ли это сделать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...