C# 共享滚动位置、共享数据源但不同步滚动位置的两个数据网格

C# 共享滚动位置、共享数据源但不同步滚动位置的两个数据网格,c#,vb.net,winforms,datagridview,C#,Vb.net,Winforms,Datagridview,你好,堆栈溢出 我有一个winforms应用程序,它在同一个控件中有两个指向同一bindingsource的数据网格视图。这样做的目的是随时显示“customer’s name”列,并允许查看datagrid的其余部分(水平滚动) 有没有办法把这两个同步起来?当前,如果用户垂直向下滚动客户列表,则只有一个datagrid受到影响。是否需要从一个视图中删除滚动条,并使其旋转两个视图 感谢您使用第一个网格的滚动事件,并使用第一个网格滚动的值设置第二个网格的滚动偏移量,即“指向同一数据集和绑定源”-如

你好,堆栈溢出

我有一个winforms应用程序,它在同一个控件中有两个指向同一bindingsource的数据网格视图。这样做的目的是随时显示“customer’s name”列,并允许查看datagrid的其余部分(水平滚动)

有没有办法把这两个同步起来?当前,如果用户垂直向下滚动客户列表,则只有一个datagrid受到影响。是否需要从一个视图中删除滚动条,并使其旋转两个视图


感谢您使用第一个网格的滚动事件,并使用第一个网格滚动的值设置第二个网格的滚动偏移量,即“指向同一数据集和绑定源”-如果目的是保持显示“客户名称”,则GridView指向数据集或绑定源如果用户水平滚动…那么冻结该列可能比使用两个网格更好。这非常有效,非常感谢!如果有人想查看我的代码示例:Dim nameVerticalOffset As PropertyInfo=NameDataGridView.GetType().GetProperty(“VerticalOffset”,BindingFlags.NonPublic或BindingFlags.Instance)nameVerticalOffset.SetValue(NameDataGridView,MainDataGridView.VerticalScrollingOffset,Nothing)为什么需要反射?公共财产垂直滚动补偿不够吗?您还可以从事件args获取滚动事件中的值,就像从滚动事件args获取垂直偏移的建议一样,再次感谢!但是,我认为datagrid视图垂直滚动补偿没有设置器。当我尝试通过执行类似“NameDataGridView.VerticalScrollingOffset=MainDataGridView.VerticalScrollingOffset”的操作来设置属性时,我得到了只读错误。我没有注意到这一点。水平滚动偏移有一个集合,但垂直滚动偏移没有!如果有相同的行,也可以使用FirstDisplayedScrollingRowIndex。