我在WinForm里加了一个DataGridView控件绑定了SQL数据库里的一个表。
 
    我想单击DataGridView里的某一行的时候就把这一行的数据显示在同窗口的几个textBox控件里,请问怎么实现?    也请问在哪个事件里写这个代码?还有需要改控件的什么属性值吗?
     
    这个功能的实现让我最困惑的是如何让这个DataGridView知道你所点的是具体是哪一行。    刚入门,很多地方不熟悉,还请大家说得详细点,万分感谢。

解决方案 »

  1.   

    currentRowChanged?瞎说的,别计较
      

  2.   


    private string GetID()   
            {   
                string fhID = "";   
                if (dgvList.Focused == true && dgvList.CurrentRow != null)   
                {   
                    int RowIndex = dgvList.CurrentCell.RowIndex;   
                    if (RowIndex < 0)   
                    {   
                        fhID = "";   
                    }   
                    else  
                    {   
                        fhID = dgvList.Rows[RowIndex].Cells[0].Value.ToString();   
                    }   
                }   
                return fhID;   
            } 用这个方法就可以~
      

  3.   

            private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
                this.dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString();//第一种取法
                this.dataGridView1.Rows[e.RowIndex].Cells["你所要取值的列名称"].Value.ToString();//第二种取法
                this.dataGridView1.CurrentRow.Cells["你所要取值的列名称"].Value.ToString();//第三种取法
            }        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                this.dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString();//第一种取法
                this.dataGridView1.Rows[e.RowIndex].Cells["你所要取值的列名称"].Value.ToString();//第二种取法
                this.dataGridView1.CurrentRow.Cells["你所要取值的列名称"].Value.ToString();//第三种取法
            }        private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
            {
                this.dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString();//第一种取法
                this.dataGridView1.Rows[e.RowIndex].Cells["你所要取值的列名称"].Value.ToString();//第二种取法
                this.dataGridView1.CurrentRow.Cells["你所要取值的列名称"].Value.ToString();//第三种取法
            }
      

  4.   

    如果仅仅是这个要求的话,DataGridView绑定某个数据源,这些TextBox绑定到相同的数据源,无需任何额外的代码,就能达到这个要求。
      

  5.   

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                this.dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString();//第一种取法
                this.dataGridView1.Rows[e.RowIndex].Cells["你所要取值的列名称"].Value.ToString();//第二种取法
                this.dataGridView1.CurrentRow.Cells["你所要取值的列名称"].Value.ToString();//第三种取法
            }
      

  6.   

    private void dataGridView1_CellClick_1(object sender, DataGridViewCellEventArgs e)
            {
                Textbox1.Text = Convert.ToString(dataGridView1[0, dataGridView1.CurrentCell.RowIndex].Value).Trim();
                Textbox2.Text = Convert.ToString(dataGridView1[1, dataGridView1.CurrentCell.RowIndex].Value).Trim();
                comboBox1.SelectedItem = Convert.ToString(dataGridView1[2, dataGridView1.CurrentCell.RowIndex].Value).Trim();
                comboBox2.SelectedItem = Convert.ToString(dataGridView1[3, dataGridView1.CurrentCell.RowIndex].Value).Trim();
                Textbox3.Text = Convert.ToString(dataGridView1[4, dataGridView1.CurrentCell.RowIndex].Value).Trim();
                Textbox4.Text = Convert.ToString(dataGridView1[5, dataGridView1.CurrentCell.RowIndex].Value).Trim();
                Textbox5.Text = Convert.ToString(dataGridView1[6, dataGridView1.CurrentCell.RowIndex].Value).Trim();
                Textbox6.Text = Convert.ToString(dataGridView1[7, dataGridView1.CurrentCell.RowIndex].Value).Trim();
            }
      

  7.   

    private void dataGridView1_CellClick_1(object sender, DataGridViewCellEventArgs e) 
            { 
                Textbox1.Text = Convert.ToString(dataGridView1[0, dataGridView1.CurrentCell.RowIndex].Value).Trim(); 
                Textbox2.Text = Convert.ToString(dataGridView1[1, dataGridView1.CurrentCell.RowIndex].Value).Trim(); 
                comboBox1.SelectedItem = Convert.ToString(dataGridView1[2, dataGridView1.CurrentCell.RowIndex].Value).Trim(); 
                comboBox2.SelectedItem = Convert.ToString(dataGridView1[3, dataGridView1.CurrentCell.RowIndex].Value).Trim(); 
                Textbox3.Text = Convert.ToString(dataGridView1[4, dataGridView1.CurrentCell.RowIndex].Value).Trim(); 
                Textbox4.Text = Convert.ToString(dataGridView1[5, dataGridView1.CurrentCell.RowIndex].Value).Trim(); 
                Textbox5.Text = Convert.ToString(dataGridView1[6, dataGridView1.CurrentCell.RowIndex].Value).Trim(); 
                Textbox6.Text = Convert.ToString(dataGridView1[7, dataGridView1.CurrentCell.RowIndex].Value).Trim(); 
            }