zoukankan      html  css  js  c++  java
  • C# :DataGridView重新绑定时保持上次滚动位置

        DataGridView虽然有VerticalScrollBar属性, 但却是受保护的对象, 无法外部访问, 看了一下DataGridView的各项属性, 发现FirstDisplayedScrollingRowIndex就是滚动条的Value, DataGridView的行高乘以FirstDisplayedScrollingRowIndex就是客户区高度.

          以下是有关垂直滚动条的示例:

            int _ScrollValue = 0;

            private void dgvVehicles_Scroll(object sender, ScrollEventArgs e)
            {
                if (e.ScrollOrientation == ScrollOrientation.VerticalScroll)
                {
                    _ScrollValue = e.NewValue;
                }
            }

            private void BindData()
            {
                  // 设置数据源
                  ...
                  if (dgvVehicles.Rows.Count > _ScrollValue)
                      dgvVehicles.FirstDisplayedScrollingRowIndex = _ScrollValue;
            }

          另有一种做法是设置CurrentCell, 设置该值会使DataGridView跳到该单元格所在行. 方法就是遍历各行找出那个具有唯一性的Cell, 设为当前单元格.

  • 相关阅读:
    案例分析
    阅读任务
    准备工作
    课程总结
    十三周总结
    第十二周总结
    第十一周学习总结
    第十周学习总结
    第九周课程总结&实验报告7
    第八周课程学习总结与实验6
  • 原文地址:https://www.cnblogs.com/Fooo/p/1619518.html
Copyright © 2011-2022 走看看