2015-06-26 6 views
1

Я создал WinForm, который берет данные из другого приложения и сохраняет его в базе данных. Я использую BindingNavigator (я перетащил таблицу набора данных в мою форму и получил навигатор, bindingsource и многое другое) для отображения и навигации по записям.BindingNavigator не отображает вновь добавленные записи

Когда записи добавляются в таблицу данных/таблицу, BindingNavigator не обновляет себя с новой информацией сразу. Как будто ничего не было добавлено.

Я должен нажать на элемент next BindingNavigator, пункт previous или что-то вроде этого, чтобы оно обновилось и отобразило правильное количество элементов.

Может ли кто-нибудь сказать мне, как я программно скажу BindingNavigator, чтобы показывать обновленные значения?

Я пробовал много чего, но ничего не сработало.

EDIT

Я понял, что идет не так. Я работал в другой теме, чем в форме. код, который работал для меня:

this.tableAdapterManager.PieceTableAdapter.Insert(ints[4], ints[2], ints[6], ints[8], ints[10], ints[12], ints[14]); 

this.tableAdapterManager.UpdateAll(this.slicerTestDBDataSet); 
this.pieceBindingNavigator.Invoke(new Action(() => this.pieceTableAdapter.Fill(this.slicerTestDBDataSet.Piece))); 

Раньше я не использовал Invoke для вызова основного потока, так что не работает должным образом.

+0

Вы можете поделиться тем, что вы пробовали? Любой код, который вы написали? – MeanGreen

ответ

0

Первое, что нужно сделать, это проверить инструкции обновления и вставки в тексте команды таблицы.
enter image description here
Нажмите на таблицу адаптера в представлении дизайна, если набор данных и посмотреть свойства. В свойствах вы увидите разделы обновления и вставки с символом + слева. Разверните это, чтобы увидеть текст команды.
enter image description here
Если он пуст, вернитесь к правой кнопке адаптера таблицы и выберите configure. Затем посмотрите на конструктор запросов и убедитесь, что все в таблице, которую вы хотите обновить, проверяется. Затем завершите работу мастера и вернитесь назад и убедитесь, что мастер создал инструкции вставки и обновления.

Я обнаружил, что иногда одно текстовое поле принимает обновление, а другие - нет. Я исправил это, удалив текстовое поле и добавив новое текстовое поле, которое я бы повторил.