我在窗体中加了一个DataGridView,然后在Form_load()中设置各列的格式          
  //Name
            DataGridViewTextBoxColumn productPartName = new DataGridViewTextBoxColumn();
            productPartName.DataPropertyName = "Name";//SQL语句得到的列名,可从集合中获得
            productPartName.HeaderText = "名称";//列头显示的汉字
            productPartName.Width = 120;
            productPartName.ReadOnly = true;
            productPartName.Frozen = true;            
            dataGridViewProductPart.Columns.Add(productPartName);
.......
然而,在运行的时候,那些加了ReadOnly=true的列仍然可以编辑,怎么回事阿?

解决方案 »

  1.   

    foreach (DataGridViewColumn c in dgvUser.Columns)
    {
        if (c.Index != 0)
        {
            c.ReadOnly = true;
        }
    }
      

  2.   

    你在ADD完了以后再进行ReadOnly的设置操作~~比如第五列,那么~dataGridView1.Columns[5].ReadOnly = true; 
      

  3.   

    dataGridViewProductPart.Columns.Add在这步以后再进行ReadOnly的设置操作~~就是说,列都加全了再进行具体的设置~