我写的代码估计拼写有错误 
在datagrid1的currencycellchang 事件里写
me.textbox1.text= me.datagrid1(datagrid1.currencycell)
这样就可以获取你点的那个cell中的内容了

解决方案 »

  1.   

    public void inDataGrid_Select(Object sender,DataGridCommandEventArgs seE)
      {
            
       // e.Item 是表中激发命令所在的行
       // 对于绑定列,该值存储在 TableCell 的 Text 属性中        
       if(seE.CommandName == "Select")
       {
          TableCell AccountCell = seE.Item.Cells[3];
          string tAccount = AccountCell.Text;
      

  2.   

    谢谢上面两位,但是我的问题是想在DATAGRID中输入完后点击一个BUTTON,获取刚输入的数据并将这些数据存入数据库中,并且我的DATAGRID没有SelectedItem方法和Item方法。
      

  3.   

    这个问题不是很简单吗?有必要弄那么复杂吗?又BindingContext又Select事件的,用得着吗?
    如果你的DataGrid的DataSource是DataTable:
    DataRow dr = myTable.Rows[dataGrid1.CurrentRowIndex];
    这样你就可以获取当前选定的数据行,然后可以逐一访问这个数据行的每个字段,例如string name = dr["name"].ToString();
    获取这些数据之后,你就可以调用存储过程或者相关的Persistence Class对其进行存储。
    如果你的DataSource是DataView:
    DataRow dr = myDataView[dataGrid1.CurrentRowIndex].Row;余下操作同上。
      

  4.   

    "谢上面两位,但是我的问题是想在DATAGRID中输入完后点击一个BUTTON,获取刚输入的数据并将这些数据存入数据库中,并且我的DATAGRID没有SelectedItem方法和Item方法。"
    楼主如果想这样的话,用一个sqlDataAdapter(如sqlDataAdapter1)从数据库中取数据到一个DataSet(如ds)中,在你的button单击事件里只有一句话
    sqlDataAdapter1.Update(ds);
    就可以达到效果了吧。当然,还要注意捕获异常。
      

  5.   

    补充:
    你也可以通过逐个单元格读取该行中的每个值:
    string name = this.dg[this.dg.CurrentRowIndex,1].ToString();
    int age = Convert.ToInt32(this.dg[this.dg.CurrentRowIndex,1]);
    ……
    然后再把这些参数传递给相应的存储过程。