int i = Convert.ToInt32(textBox1.Text);
if (i < dataGridView1.Rows.Count)
{
    dataGridView1.Rows[i].Selected = true;
}

解决方案 »

  1.   

    全面点的,这样把DataGridView的SelectionMode属性设为FullRowSelect private void button1_Click(object sender, EventArgs e)
    {
        int i = Convert.ToInt32(textBox1.Text);
        for (int j = 0; j < dataGridView1.SelectedRows.Count; j++)
        {
             dataGridView1.SelectedRows[j].Selected = false;
        }
        if (i < dataGridView1.Rows.Count)
        {
             dataGridView1.Rows[i].Selected = true;
        }
    }
      

  2.   

    想通过一个button点击事件使对一个选定行添加标记,让该行反蓝也好,或者给在该行最前端添加一个标记
    --------------------------------------------
    我的意思是让鼠标点到的那一行有标记
    --------------------------------------------你到底要什么效果
    鼠标选中只要把DataGridView的SelectionMode属性设为FullRowSelect就可以了
    如果是通过button来选,用我楼上的方法
      

  3.   

    我的意思是,用鼠标选定在datagridview中的数据表随便点击一个数据,
    之后点击这个button,给鼠标热点说在数据的这一整行添加一个标记,
    让这行在datagridview中显示的与其他数据行不一样就好。
    刚表述不清,不好意思。
      

  4.   

    我写的这个代码为了演示效果,从一个textbox控件动态得到一个数,然后点击按钮选中textbox里输入的行,上面写的有点问题,应该是这样private void button1_Click(object sender, EventArgs e)
    {
        int i = Convert.ToInt32(textBox1.Text);
        for (int j = 0; j < dataGridView1.SelectedRows.Count; j++)
        {
             dataGridView1.SelectedRows[j].Selected = false;
        }
        if (i-1 < dataGridView1.Rows.Count)
        {
             dataGridView1.Rows[i-1].Selected = true;
        }
    }
    当然,这里只是为演示效果,并没有对输入内容是否能转为int型,是否小于0等做判断
      

  5.   

    我的意思是,用鼠标选定在datagridview中的数据表随便点击一个数据,
    之后点击这个button,给鼠标热点说在数据的这一整行添加一个标记,
    让这行在datagridview中显示的与其他数据行不一样就好。
    ---------------------------------------------------------------鼠标选中只要把DataGridView的SelectionMode属性设为FullRowSelect,鼠标点击时即为选中一行,为什么还要点一个button
      

  6.   

    你的意思是先用鼠标选中一行,然后点个button,标记这一行,然后再用鼠标去点其它行,对其它行数据进行操作,而标记那一行选中状态不变吗
      

  7.   

    那这样做首先还是把DataGridView的SelectionMode属性设为FullRowSelect int index = -1;
    private void button1_Click(object sender, EventArgs e)
    {
        index = dataGridView1.CurrentRow.Index;
        dataGridView1.Rows[index].Selected = true;
    }private void dataGridView1_SelectionChanged(object sender, EventArgs e)
    {
        if (index != -1)
        {
            dataGridView1.Rows[index].Selected = true;
         }
    }上面这个事件知道在哪添加吧,如果不知道,选中dataGridView1,点右侧属性窗口那个黄色小闪电图标,双击SelectionChanged注册dataGridView1_SelectionChanged事件
      

  8.   

    那如果我把datagridview的SelectionMode设成CellSelect还能否达成你说的这个效果呢?
    如果不能达到这个效果,有没有办法做到?
      

  9.   

    如果是这个要求,那这样设置,也不用那么麻烦了datagridview的SelectionMode设成CellSelect,不用变了private void button1_Click(object sender, EventArgs e)
    {
        int index = dataGridView1.CurrentRow.Index;
        for(int i=0;i<dataGridView1.ColumnCount;i++)
        {
            dataGridView1.Rows[index].Cells[i].Style.BackColor = Color.Blue;
        }
    }这里的Color.Blue是设置的这一行的背景色,可以根据你的需要换成其它颜色
      

  10.   

    你那样不太好...
    dataGridView.dataSource=this.bindingsource;
    dataRow dr=this.dataTable.rows[this.bindingsource.position];再操作dr就OK了啊...