DataGridView.Rows[i].Selected = ture 只能简单的将某一行选中,但是不能够定位到那一行,有什么方法能让他自动定位到我想要的某一行呢?急!急!!急!!!

解决方案 »

  1.   

    int32 selectedrowcount =
              datagridview1.rows.getrowcount(datagridviewelementstates.selected);
                if (selectedrowcount > 0)
                {
                    system.text.stringbuilder sb = new system.text.stringbuilder();                for (int i = 0; i < selectedrowcount; i++)
                    {
                        sb.append("row: ");
                        sb.append(datagridview1.selectedrows[i].index.tostring());
                        sb.append(environment.newline);
                    }                sb.append("total: " + selectedrowcount.tostring());
                    messagebox.show(sb.tostring(), "selected rows");
                }
      

  2.   

    在MSDN2005中查到的,请参考使用 SelectedRows 属性。若要使用户能够选择行,您必须将 SelectionMode 属性设置为 FullRowSelect 或 RowHeaderSelect。Visual Basic  复制代码 
    Private Sub selectedRowsButton_Click( _
        ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles selectedRowsButton.Click    Dim selectedRowCount As Integer = _
            dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected)    If selectedRowCount > 0 Then        Dim sb As New System.Text.StringBuilder()        Dim i As Integer
            For i = 0 To selectedRowCount - 1            sb.Append("Row: ")
                sb.Append(dataGridView1.SelectedRows(i).Index.ToString())
                sb.Append(Environment.NewLine)        Next i        sb.Append("Total: " + selectedRowCount.ToString())
            MessageBox.Show(sb.ToString(), "Selected Rows")    End IfEnd Sub 
    C#  复制代码 
    private void selectedRowsButton_Click(object sender, System.EventArgs e)
    {
        Int32 selectedRowCount =
            dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected);
        if (selectedRowCount > 0)
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();        for (int i = 0; i < selectedRowCount; i++)
            {
                sb.Append("Row: ");
                sb.Append(dataGridView1.SelectedRows[i].Index.ToString());
                sb.Append(Environment.NewLine);
            }        sb.Append("Total: " + selectedRowCount.ToString());
            MessageBox.Show(sb.ToString(), "Selected Rows");
        }

      

  3.   

    DataGridView.Rows[i].Selected = ture 只能简单的将某一行选中,但是不能够定位到那一行,有什么方法能让他自动定位到我想要的某一行呢?急!急!!急!!!楼主说的已经能定位到哪一行了。除非你是说定位到哪一行的哪一列吧
    DataGridView.Rows[i].columns[i].
    可定位到哪行哪列。
      

  4.   

    設置為當前行
    this.dataGridView1.CurrentRow = this.dataGridView1.Rows[n];
      

  5.   

    this.dataGridView1.ClearSelection();
    this.dataGridView1.rows[1].Selected = true;
    this.dataGridView1.CurrentCell = this.dataGridView1.rows[1].cells[0];
      

  6.   

    dataGridView1.CurrentRow = dataGridView1.Rows[i];
    i就是当前行