导航
  • 主页
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm
  • WPF
  • 问答

datagrid滚动条与外面的滚动条联动问题

newmankind 2012-09-21 06:44:33
当前遇到一个大难题,在datagrid外建了一个panel,通过panel的滚动条控制datagrid的滚动条,这个功能已基本实现,但是貌似是一种伪联动,实现代码如下
if (e.ScrollOrientation == ScrollOrientation.HorizontalScroll)
{
datagrid_Monitor.HorizontalScrollingOffset = e.NewValue;
panel1.HorizontalScroll.Value = e.NewValue;

}
滚动是能滚了,一旦在拖动滚动条后点后面header标题,立刻就跳回第一列,研究了很久发现问题关键点:
1、datagrid_Monitor的ScrollBars设置Horizontal,即将水平的滚动条隐掉,这时才会出现上述现象。当ScrollBars设置为Both时,水平滚动条会跟panel滚动条联动,点击datagrid标题不会有任何问题
2、貌似拖动滚动条后点后面header标题,触发了datagrid本身的ScrollBar的内部Scroll事件,导致用任何办法(rowindex,currentCell)也不能回到当前位置,很是痛苦。

请各位高人指点!!
...全文
66 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
newmankind 2012-09-22
等回复太难了
回复
newmankind 2012-09-21
双滚动条能正常的滚,点,但是一用外部panel的滚动条控制dgv的滚动就有问题,因为panel里加了一个合计列,这个合计列也试了很多种样本,最终确定不是合计列本身的问题,而是滚动本事联动问题,想过用一个panel盖住滚动条,但是又太土了。
回复
发动态
发帖子
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
社区公告

全世界最好的语言,没有之一.