private void TextBoxBind(DataRow dr)
        {
           
            txtCustomID.Text = dr["CustomID"].ToString();
            txtCustomName.Text = dr["CustomName"].ToString();
            txtAdd.Text = dr["ComAdd"].ToString();
            txtBank.Text = dr["BandAcc"].ToString();
            txtComName.Text = dr["ComName"].ToString();
            txtDep.Text = dr["Department"].ToString();
            txtDuty.Text = dr["Duty"].ToString();
            txtEmail.Text = dr["ComEmail"].ToString();
            txtFax.Text = dr["OfficeFax"].ToString();
            txtmob.Text = dr["CustomMob"].ToString();
            txtRe.Text = dr["Re"].ToString();
            txtTel.Text = dr["OfficeTel"].ToString();
            txtWeb.Text = dr["ComWeb"].ToString();
            CboxType.Text = dr["CustomType"].ToString();
            
 
        }        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {            if (e.RowIndex > -1)
            {
                
                    DataRow dr = dv.Table.Rows[e.RowIndex];
                    TextBoxBind(dr);                
            }
        }
 
以上是我以前做的,我发现有时候点击datagridview其中的行时,显视不出正确的数据,使劲的按几下才出来?
是怎么回事?

解决方案 »

  1.   

    写在click里面 取CurrentRow 
      

  2.   

    可以尝试把 data grid view控件的 事件换成.Click然后,把这个在这个事件的响应方法中,使用,DataRow dr = dv.Table.Rows[e.this.dataGridView.SelectedRows[0].Index];
    TextBoxBind(dr);试下
      

  3.   

    DataRow dr = gridview1.GetDataRow(e.RowHandle);
      

  4.   


            
     private void gridview1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
            {
                  DataRow dr = gridview1.GetDataRow(e.RowHandle);
            }
      

  5.   


     private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
            { 
                
                if (dataGridView1.CurrentRow.Index > -1&&e.RowIndex<dataGridView1.RowCount-1)
                { 
                    
                    int i = e.RowIndex;
                    DataRow dr = dv.Table.Rows[e.RowIndex];
                    TextBoxBind(dr);
                   
                }
            }我换成上面这就不用使劲按了
    Thanks!