我在程序里用BindingManagerBase.Position +=1 来导航数据,像上一条,下一条等等。不知道什么原因,有几条记录上使用上面的代码没有反应?并且也没什么规律,但每次运行都是同样几条数据无法导航。从第1条一直到第23条数据记录都正常,到了第 23条记录之后再使用BindingManagerBase.Position +=1时就没反应了。通过DataGridView中使用mouse来点击第24条记录时,并且BindingManagerBase的PositionChanged事件根本不会发生。定义BindingManagerBase时使用如下的方式:BindingSource bs = new BindingSource();
bs.DataSource = MyDataSet.Tables["tableName"].DefaultView;
BindingManagerBase bmb = myForm.BindingContext[bs];新手,不知道什么原因,请指教!谢谢。

解决方案 »

  1.   

    最后一条是你后加进去的?DataTable.AcceptChanges() 试试。
      

  2.   

            private BindingSource bind;            bind = new BindingSource();
                bind.DataSource = (xxxx);//这3行跟你一样
                bindingNavigator1.BindingSource = bind;
                dataGridView1.DataSource = bind;用代码移动(bindingNavigator1上也有按钮可移动记录)
                               bind.Position = i;//i就是要导航到的记录号