我一直在这个墙上撞墙而我无法让它工作 - 所以我想我会问这里以防万一它很简单。
基本上,我有一个DataGridView,我试图以编程方式向它添加一行。
以下是我正在使用的代码:
boundBookDataSet.LoadBoundBook.AddLoadBoundBookRow(
null, null, null, null, null, DateTime.Now, null, null, null,
false, false, -1, null, -1, -1);
我还尝试在添加行之后在DataSet和新DataRow上调用AcceptChanges,并且我也尝试在DataGridView上调用Refresh。
无论如何,无论我做什么,我最终都会遇到boundBookDataSet.LoadBoundBook.Count == 70和loadBoundBookBindingSource.Count == 69。我的DataGridView不会拾取新行,因为它没有反映在绑定源中(至少这是我的猜测)。
可悲的是,这是有效的 - 但我做了一个巨大的改变,无法弄清楚是什么打破了它。被破坏的代码根本没有改变......如果有人知道如何解决这个问题,我会非常感谢你的帮助。
答案 0 :(得分:1)
啊哈!我想到了。 :)
当我再次浏览BindingSource中的字段时,我意识到我设置了Filter字段。如果我删除过滤器,loadBoundBookBindingSource.Count会正确递增,DataGridView会获取新记录。
基本上,看起来我需要清除过滤器,添加记录,然后再次设置过滤器。
答案 1 :(得分:0)
假设它的winforms你可以在这个帖子上讨论问题的答案:http://social.msdn.microsoft.com/Forums/en-US/winformsdatacontrols/thread/f12158b3-4510-47cb-b152-409489c3a51a/