找回密码
 立即注册

QQ登录

只需一步,快速开始

pblandscape

初级会员

19

主题

46

帖子

397

积分

初级会员

积分
397

微信认证勋章

pblandscape
初级会员   /  发表于:2017-3-28 16:11  /   查看:4172  /  回复:5
ssTest.Sheets[0].Protect = true;
设置protect=false后,cell.locked无效
cell还是可以编辑

5 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-3-28 17:41:05
沙发
和Excel一样,除了设置cell的锁定,还要设置sheet 的保护。

  1. gcSpreadSheet1.Sheets[0].Cells[1, 1].Locked = false;
  2. gcSpreadSheet1.Sheets[0].Cells[1, 1].Text = "Locked";
  3. gcSpreadSheet1.Sheets[0].Columns[3].Locked = false;
  4. gcSpreadSheet1.Sheets[0].Rows[5].Locked = false;
  5. gcSpreadSheet1.Protect = true;
  6. gcSpreadSheet1.Sheets[0].Protect = true;
  7. gcSpreadSheet1.Invalidate();
  8. private void button1_Click(object sender, RoutedEventArgs e)
  9.         {
  10. gcSpreadSheet1.Sheets[0].Cells[1, 1].ResetLocked();
  11. gcSpreadSheet1.Invalidate();
  12.         }
复制代码
回复 使用道具 举报
pblandscape
初级会员   /  发表于:2017-3-28 21:22:03
板凳
dexteryao 发表于 2017-3-28 17:41
和Excel一样,除了设置cell的锁定,还要设置sheet 的保护。

但是我设置了protect之后,没办法再拖动行列了,我这边的需求是需要对行列的高度进行拖拉的
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于: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
5#
dexteryao 发表于 2017-3-29 10:17
如果您是这种需求就不能用保护了
可以在EditStarting 事件中取消编辑,以达到不能编辑的目的。
void Spre ...

谢谢,回复有效
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-3-29 17:06:50
6#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部