DataGrid的列为 DataGridTextBoxColumn()类实体,缺省是可以编辑的.但我希望它不能编辑.而如果把enable设为false的话,又不能拖动列的宽度,连双击每一行前面的事件都没有反应了.有什么办法可以只是令到列里面的内容不能修改编辑吗?
请大家指点,谢谢

解决方案 »

  1.   

    用style的textbox的readonly属性,可以使一列不可编辑,只让某行不能编辑,有一个办法,就是利用获得集点事件,在此事件判断当前行是不是应该编辑,如果不行,就让其立即失去焦点
      

  2.   

    DataGridTextBoxColumn.ReadOnly=true;
    或者datagrid..ReadOnly=true;
      

  3.   

    先要把datagrid原有的样式清空;
    datagrid.TableStyles.Clear();
    //新建datagrid的样式
    DataGridTableStyle style=new DataGridTableStyle();
    DataGridTextBoxColumn col1=new DataGridTextBoxColumn();//新建datagrid的列
    col1.HeaderText="****";//该行是设置datagrid的头标题
    col1.MappingName="***";//该行所对应列所要绑定的数据库的字段名
    col1.Width=70;//该列的宽
    col1.ReadOnly=true;//是否只读
    以此类推,你要datagrid有几列都可以的
    最后是将样式付给datagrid
    style.GridColumnStyles.AddRange(new DataGridColumnStyle[]{col1});
    datagrid.TableStyles.Add(style);
    搞定!
      

  4.   

    应该是把每一列的ReadyOnly属性设为false就可以了吧!