none
如何在button控件datagridvew的滚动条? RRS feed

  • 问题

  • datagridview 有一个scroll事件,正常情况下可以控制datagridvew上下左右的位置,但我不知道如何在button事件里面去触发datagridview的scroll事件。请教大家了。
    2010年1月20日 2:29

答案

全部回复

  •    垂直移动
         int  index=0;
            private void button1_Click(object sender, EventArgs e)
            {
                index++;
              dataGridView1.Rows[index].Selected = true
                dataGridView1.FirstDisplayedScrollingRowIndex = index;
         }


    水平滚动
     int i=0;
            private void button3_Click(object sender, EventArgs e)
            {
                i++;
                this.dataGridView1.HorizontalScrollingOffset=i;
            }

    努力+方法=成功
    • 已标记为答案 陈德军 2010年1月20日 3:47
    2010年1月20日 2:47
  • 2010年1月20日 2:50
    版主
  • 假说datagridview里面没有数据呢?这样肯定就会报错了
    2010年1月20日 2:59
  • 如果没有数据,也能控制datagridview的滚动条位置,那怎么办?还有firstdisplayedcell里面不管是rowindex还是列index都是只读的,不能控制
    2010年1月20日 3:00
  • 没有数据就没有必要去控制,没有数据时判断一下你的 RowIndex 或 Cell  是否存在,存在才执行代码,这样就不会报错。

    知识改变命运,奋斗成就人生!
    2010年1月20日 3:11
    版主
  • 我尝试了一下水平滚动,还是用firstdisplayedscrollingcolounmindex可以,只不过要判断。主要是对索引的判断,对于垂直滚动的还没有测试,谢谢你的方法。但没有更好的呢?
    2010年1月20日 3:12
  •    垂直移动
         int  index=0;
            private void button1_Click(object sender, EventArgs e)
            {
                index++;
              dataGridView1.Rows[index].Selected = true
                dataGridView1.FirstDisplayedScrollingRowIndex = index;
         }


    水平滚动
     int i=0;
            private void button3_Click(object sender, EventArgs e)
            {
                i++;
                this.dataGridView1.HorizontalScrollingOffset=i;
            }

    努力+方法=成功
    水平的可以这样做,但垂直的似乎不能,对于没有数据的时候这个肯定要作特殊处理。
    2010年1月20日 3:20