int i=datagrid1.currentindex;
textbox1.text=datagrid1[i,0].tostring();
textbox2.text=datagrid1[i,1].tostring();
...
...依此类推

解决方案 »

  1.   

    这个要写在datagrid1.CurrentCellChange事件中才行
      

  2.   

    用CurrencyManager,很容易的
    首先:
    textBox1.DataBinding.Add("Text",dt,"绑定字段");//将数据库表中的字段绑定到TextBox上
    然后:
    CurrencyManager cm=(CurrencyManager)this.BindingContext(dt);
    if(manager.Position!=CurrentPosition)
        manager.Position=CurrentPosition;//CurrentPosition即为你的DataGrid的行号;
    这样就OK了。
    不过这只是我手写的,有错之处请自己改正。
      

  3.   

    to :zhongwanli(想一下,就会可以)
    我的dataGird里只有部分数据,要在textBox中显示全部数据,所以你说的并不实用啊。不过谢谢你的提示:datagrid1.CurrentCellChange事件。
    to: hai4(敏敏) 
    谢谢了,我已经改好了。
    在datagrid1.CurrentCellChange事件中加入以下代码就可以了。
    this.BindingContext[dataSet1,"Table1"].Position=this.dataGrid1.CurrentRowIndex;