2012-07-11 68 views
3

您好堆栈溢出,两个DataGrid中这一比例滚动位置,共享数据源,但不同步条位置

我有了在指向同一个BindingSource的同一控制两个数据网格视图的WinForms应用程序。这样做的目的是始终显示“客户名称”列,并允许查看其余的数据网格(水平滚动)。

有什么办法可以同步这两个吗?目前,如果用户在客户列表中垂直滚动,则只有一个数据网格受到影响。我是否需要从一个滚动条中移除滚动条,并让它旋转两个视图?

感谢

+0

“是指向同一数据集和BindingSource的”价值第二网格的偏移 - 一个GridView指向一个数据集_或_一个绑定源 – 2012-07-11 22:06:35

+1

如果用户的目的是继续显示“客户名称”,如果用户水平滚动......那么可能会冻结该列是比使用两个网格更好的主意。 – 2012-07-12 06:50:57

回答

1

您可以使用第一个网格的滚动事件,并设置滚动与第一格滚动

+0

完美的工作Amiram,非常感谢!在任何情况下,我的代码示例想见: 昏暗nameVerticalOffset作为的PropertyInfo = NameDataGridView.GetType()的getProperty( “VerticalOffset”,BindingFlags.NonPublic或者BindingFlags.Instance) \t \t \t nameVerticalOffset.SetValue(NameDataGridView,MainDataGridView.VerticalScrollingOffset。 ,Nothing) – Krumpuss 2012-07-12 14:35:54

+0

为什么你需要反思?公共属性VerticalScrollingOffset不够吗?您还可以从事件args – 2012-07-12 14:48:43

+0

中获取滚动事件中的值,我喜欢从滚动事件参数中获取垂直偏移的建议,再次感谢您!但我不认为datagrid视图verticalScrollingOffset有一个setter。当我尝试通过做类似“NameDataGridView.VerticalScrollingOffset = MainDataGridView.VerticalScrollingOffset”设置属性时,我得到只读错误。 – Krumpuss 2012-07-12 14:55:25