Dev的 spreadsheetControl 控件怎么设置单元格只读

C# winfrom
Dev的 spreadsheetControl 控件怎么设置单元格只读

整个控件有readonly属性,单元格 行 列 都没找到readonly属性

readonly = true

我来回答一下吧,这个问题我昨天也遇到过了,在网上寻找但是一直都没有很好的答案;后来自己想出了一套方案;当我们在编辑某个单元格的时候,我们可能不需要一些字段被编辑,例如昨天我的需求就是spreadsheetControl里面的第一行表头不能被编辑。
编辑单元格的时候,会触发spreadsheetControl控件中的CellBeginEdit事件,因此我的思路就是当不能被被编辑的单元格触发到这个事件的时候,让这个事件失效,这样就可以实现单元格的不可编辑;
开始放代码:

//利用委托绑定CellBeginEdit方法到spreadsheetControlLockShare上面的CellBeginEdit事件上(spreadsheetControlLockShare是spreadsheetControl控件的名称)
  this.spreadsheetControlLockShare.CellBeginEdit += new DevExpress.XtraSpreadsheet.CellBeginEditEventHandler(CellBeginEdit);
            private void CellBeginEdit(object sender, DevExpress.XtraSpreadsheet.SpreadsheetCellCancelEventArgs e)
        {
            if (e.RowIndex == 0)
                e.Cancel = true;
        }

这样当用户点击第一行的时候(即e.RowIndex == 0);编辑事件就被失效了,这样就可以实现spreadsheetControl控件中的第一行无法被编辑;代码其实很简单,和大家分享一下。有问题可以联系我qq:1210918091;一起进步,共同成长。