pblandscape 发表于 2017-3-28 16:11:15

设置protect=false后,cell.locked无效

ssTest.Sheets.Protect = true;
设置protect=false后,cell.locked无效
cell还是可以编辑

dexteryao 发表于 2017-3-28 17:41:05

和Excel一样,除了设置cell的锁定,还要设置sheet 的保护。

gcSpreadSheet1.Sheets.Cells.Locked = false;
gcSpreadSheet1.Sheets.Cells.Text = "Locked";
gcSpreadSheet1.Sheets.Columns.Locked = false;
gcSpreadSheet1.Sheets.Rows.Locked = false;
gcSpreadSheet1.Protect = true;
gcSpreadSheet1.Sheets.Protect = true;
gcSpreadSheet1.Invalidate();
private void button1_Click(object sender, RoutedEventArgs e)
      {
gcSpreadSheet1.Sheets.Cells.ResetLocked();
gcSpreadSheet1.Invalidate();
      }

pblandscape 发表于 2017-3-28 21:22:03

dexteryao 发表于 2017-3-28 17:41
和Excel一样,除了设置cell的锁定,还要设置sheet 的保护。

但是我设置了protect之后,没办法再拖动行列了,我这边的需求是需要对行列的高度进行拖拉的

dexteryao 发表于 2017-3-29 10:17:09

如果您是这种需求就不能用保护了
可以在EditStarting 事件中取消编辑,以达到不能编辑的目的。
void Spread_EditStarting(object sender, GrapeCity.Windows.SpreadSheet.UI.EditCellStartingEventArgs e)
{
    if (e.Column == 0)
      e.Cancel = true;
//或者 在此判断locked属性为true 则cancel

}

pblandscape 发表于 2017-3-29 15:38:00

dexteryao 发表于 2017-3-29 10:17
如果您是这种需求就不能用保护了
可以在EditStarting 事件中取消编辑,以达到不能编辑的目的。
void Spre ...

谢谢,回复有效

dexteryao 发表于 2017-3-29 17:06:50

{:4_86:}
页: [1]
查看完整版本: 设置protect=false后,cell.locked无效