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)也不能回到当前位置,很是痛苦。

请各位高人指点!!
...全文
126 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
newmankind 2012-09-22
  • 打赏
  • 举报
回复
等回复太难了
newmankind 2012-09-21
  • 打赏
  • 举报
回复
双滚动条能正常的滚,点,但是一用外部panel的滚动条控制dgv的滚动就有问题,因为panel里加了一个合计列,这个合计列也试了很多种样本,最终确定不是合计列本身的问题,而是滚动本事联动问题,想过用一个panel盖住滚动条,但是又太土了。

111,096

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧