Добавление нового DataRow не добавляет строку в DataGridView - PullRequest
0 голосов
/ 25 августа 2011

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

По сути,У меня есть DataGridView, и я пытаюсь добавить строку к нему программно.

Вот код, который я использую:

boundBookDataSet.LoadBoundBook.AddLoadBoundBookRow(
    null, null, null, null, null, DateTime.Now, null, null, null, 
    false, false, -1, null, -1, -1);

Я также пытался вызвать AcceptChanges для обоихDataSet, а также новый DataRow после добавления строки, и я также пытался вызвать Refresh для DataGridView.

В любом случае, независимо от того, что я делаю, я получаю boundBookDataSet.LoadBoundBook.Count ==70 и loadBoundBookBindingSource.Count == 69.Мой DataGridView не получит новую строку, поскольку она не отражена в источнике привязки (по крайней мере, это мое предположение).

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

Если кто-нибудь знает, как решить эту проблему, я буду очень признателен за помощь.

Ответы [ 2 ]

1 голос
/ 25 августа 2011

Aha! Я понял. :)

Когда я снова просматривал поля в BindingSource, я понял, что у меня установлено поле Filter. Если я удалю фильтр, loadBoundBookBindingSource.Count будет правильно увеличен, и DataGridView подхватит новую запись.

Похоже, мне нужно очистить фильтр, добавить запись, а затем снова установить фильтр.

0 голосов
/ 25 августа 2011

Предположим, что вы говорите о проблеме, и вы найдете ответ в этой теме: http://social.msdn.microsoft.com/Forums/en-US/winformsdatacontrols/thread/f12158b3-4510-47cb-b152-409489c3a51a/

...