刚刚问了一个关于datagridview的问,这里再把疑问问一下好了
我想实现这样的功能:假如datagridview里绑定了4个列,我希望最后一列的值是可以修改的(就是相当于数据放在textbox里的可以修改的那样)。但是只是修改了这个列对应的行的值,其他行的值不变。如何实现呢?用的c#,winform。

解决方案 »

  1.   

    把这列的 DataGridViewColumn 设为 DataGridViewTextColumn
      

  2.   

    http://technet.microsoft.com/zh-cn/subscriptions/system.windows.forms.datagridviewtextboxcolumn
      

  3.   


    可是我是这样绑定datagridview的。
     dataGridView1.DataSource = ds.Tables[0].DefaultView;
    前台是看不到有column的,那“第四个column”这个定义如何在后台里表示呢?
      

  4.   

    删除列
    添加DataGridViewTextColumn txt = new DataGridViewTextColumn ();   
    txt .DataPropertyName = "a";   this.datagridview1.Columns.Add(txt );   
      

  5.   

    额,默认绑定,直接就是可编辑的。刚才没细想,绕弯子了。var data = new DataTable();
    data.Columns.Add("col1", typeof(string));
    data.Columns.Add("col2", typeof(string));data.Rows.Add("11", "12");
    data.Rows.Add("21", "22");this.dataGridView1.AllowUserToAddRows = false;
    this.dataGridView1.DataSource = data.DefaultView;this.dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;
    this.dataGridView1.Columns[0].ReadOnly = true;
      

  6.   


    dataGridView1.ReadOnly = true;   //设置DataGridView只读,不可修改。
      

  7.   


    dataGridView1.AllowUserToAddRows = false;                       //禁止用户自己增加行