1.可以控制某列的编辑状态,但是对于单独的cell没试过还不清楚:(
2.先获取当前鼠标点中的那一行,再根据列名来获取这个cell的值。
具体我下面 给你一些参考代码:

解决方案 »

  1.   

    int iNum;
    string strResult;
    iNum=this.dataGrid1.CurrentCell.RowNumber;
    this.strResult=this.dataGrid1[iNum,0].ToString();
    //这就获取到当前点击的那一行的第一列的cell的值了。
      

  2.   

    通过绑定的那个DataTable来设置某一列的编辑状态,
    如下,设置列名为RepName的列不可编辑:
    this.sqlDataAdapter1.Fill(this.dataSet11);
    DataTable dt=this.dataSet11.Tables[0];
    dt.Columns["RepName"].ReadOnly=true;
    this.dataGrid1.DataSource=dt;
      

  3.   

    感谢 各位!获取数据可以了!怎么用代码来使dataGrid1的某行某列处于编辑状态,而不是选中整行!
      

  4.   

    这是我以前写的
    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!IsPostBack)
    BindGrid();


    }
    public void OnExit(object sender,DataGridCommandEventArgs e)
    {
    DataGrid1.EditItemIndex=-1;
    BindGrid();
    }
    public void OnEdit(object sender,DataGridCommandEventArgs e)
    {
    DataGrid1.EditItemIndex=(int)e.Item.ItemIndex;
    BindGrid();
    }
    public void OnUpdate(object sender,DataGridCommandEventArgs e)
    {
    try
    {
    TextBox PriceTextBox1=(TextBox)e.Item.Cells[2].Controls[0];
    TextBox PriceTextBox=(TextBox)e.Item.Cells[3].Controls[0];
    decimal Price=Convert.ToDecimal(PriceTextBox.Text);
    decimal Price1=Convert.ToDecimal(PriceTextBox1.Text);
    DataGrid1.EditItemIndex=-1;
    UpdateProduct(Price,Price1,e.Item.Cells[0].Text.Trim());
    DataSet ds=new DataSet();
    DataGrid1.DataSource=ds.Tables["tablename"];
    DataGrid1.DataBind();
    BindGrid();
    }
    catch
    {
    Response.Write("<script>alert(\"您输入不数据,请重新请输入***^_^***\")</script>");
    }
    }
    public void UpdateProduct(decimal Price,decimal Price1,string colls)
    {
    string sql="select * from wangdianyunfu where wangdianmeng='"+Label4.Text.Trim()+"' order by shijian";
    SqlDataAdapter da=new SqlDataAdapter(sql,conn);
    DataSet ds=new DataSet();
    da.Fill(ds,"tablename");
    DataTable dt=ds.Tables["tablename"];
    dt.PrimaryKey=new DataColumn[]{dt.Columns["wangdianmeng"],dt.Columns["shijian"]};
    object []KeyValues=new object[2];
    KeyValues[0]=Label4.Text.Trim();
    KeyValues[1]=colls;
    DataRow row=dt.Rows.Find(KeyValues);//就这句
    row["shihuijing"]=Price1;
    row["yingsoudingzhong"]=Price;
    SqlCommandBuilder cd=new SqlCommandBuilder(da);
    da.Update(ds,"tablename");

    }
    public void BindGrid() 
    {  
    string sql="select * from table where wangdianmeng='"+Label4.Text.Trim()+"' order by shijian";
    SqlDataAdapter da=new SqlDataAdapter(sql,conn);
    DataSet ds=new DataSet();
    da.Fill(ds,"yun");
    DataGrid1.DataSource=new DataView(ds.Tables["yun"]);
    DataGrid1.DataBind();
    }
    请参考
      

  5.   

    楼上的是webform的吧,我要的是winform的,不过还是谢谢你
      

  6.   

    感谢  各位!获取数据可以了!  
     
    怎么用代码来使dataGrid1的某行某列处于编辑状态,而不是选中整行!