如何让WinForm中的某一个单元格不可编辑?我只找到了可以让某一列不可编辑的方法,用DataGridColumnStyle可以办到,但是现在需要只让其中一个单元格不可编辑,各位高人请指教一二!

解决方案 »

  1.   

    在CurrentCellChanged事件中找到这个单元格,如果是这个单元格就不执行任何操作
    不知这样是否可行
      

  2.   

    CellBeginEditd事件中找到这个单元格,如果是这个单元格就e.Cancel = true;
      

  3.   

    有没有enable属性?有得话设置成false
      

  4.   

    你的DataGrid中单元格的内容是动态改变的。这列可以设只读,单元格就不知道了
      

  5.   

    是我没说清楚,是Winform里的DataGrid控件,我查过,里面没有CellBeginEditd事件,如何得到DataGrid里的一行,也没有办法得到,请高人指教!
      

  6.   

    只能采取readonly的办法
    将整个Grid设为只读
    或当焦点在这单元格时将该列设为只读
      

  7.   

    这个你必须用DataGridColumnStylet和那个叫什么DataGridTextBox的。先判断当前Grid中的TextBox是不是你想设置的那个,然后设置它的enabled属性。参见:http://www.syncfusion.com/FAQ/WindowsForms/Default.aspx#44 里面有一些列子
      

  8.   

    我的系统中没有DataGrid控件,只有DataGridView控件,里面有CellBeginEdit事件:
            private void dataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
            {
                if (e.ColumnIndex == 1 && e.RowIndex ==1)
                e.Cancel = true;
            }