两种:
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
int c = e.RowIndex; //当前点击行索引
DataGridViewRow dgvR = dgv.Rows[c]; //当前点击的行(包括其数据)
Form2 f2=new Form2(DgvR);
f2.Show(); //f2.ShowDialog();
}
////Form2 添加一个构造函数,我这里传递的是DGV的行,你也可以把整个DGV传过来 ///另一种就是通过DGV绑定的数据表DataTable,把这个表传递过来,方法大同小异
public Form2(DataGridViewRow dgvR)
{
InitializeComponent(); //这句不能少,否则出现引用空值而错误
this.Txb_Id.Text=dgvR.Cells["ID"].Value.ToString();//“xx”用列名,也可以直接用列的索引0代替//注意Value的值类型,如果为空,可能出现错误。
//其他两个控件同理
//DataTble的方法
this.Txb_Id.Text=dt.Rows[Index]["ID"].Tostring();
}
//如果你希望,你再From2的修改,点确定后能体现到Form1中的DGV,那你要添加一个变量,引用这个行dgvr或者这个DGV
privete DataGridviewRow dgvr=null; // 在构造函数里让他引用From1的dgvR
///之后再确定按钮里,对这个引用进行修改
privete btn_click(object sender ,EventArgs e)
{
//先执行数据库更新,如果成功,执行下步
dgvr.Cell["ID"].value=txb_ID.text; //赋值
//其他两个同理
///当然,你也可以直接通过重新绑定DGV的数据表来达到刷新DGV的目的
}