2009-10-05 113 views
1

我在DataGridView的数据源DataTable上的“RowChanged”事件中试过这个(http://brainof-dave.blogspot.com/2007/08/turning-off-auto-scrolling-in-bound.html),但无济于事。当数据源更改时,如何防止DataGridView自动滚动?

基本上,我有一个DataGridView与BindingSource,因为它是DataSource。 BindingSource的DataSource是一个DataView,它包含一个DataTable。每当其中一行中的数据发生更改时,DataGridView将滚动回顶端。有这个简单的解决办法吗?

回答

1

看起来我发现:http://seewinapp.blogspot.com/2005/09/is-your-autoscroll-too-auto.html

我推翻上DataTable中的RowChanged事件时,存储在FirstDisplayedScrollingRowIndex,与该索引作为参数调用的委托方法,然后重置FirstDisplayedScrollingRowIndex到委托内部这样的说法方法。事实证明,自动滚动不会发生,直到所有事件被触发,所以尝试在事件内部破解它是没有用的。委托的工作原理是在事件之后调用它。