找回密码
 立即注册

QQ登录

只需一步,快速开始

ZenosZeng 讲师达人认证 悬赏达人认证

超级版主

299

主题

7874

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
13131

活字格认证圣诞拼拼乐微信认证勋章讲师达人元老葡萄悬赏达人

ZenosZeng 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-6-28 14:29  /   查看:6245  /  回复:0
在实际系统中,我们为了对某些单元格的数据进行保护,我们需要将这些单元格进行锁定,从而防止用户对其进行修改。

Spread中的Cell、Row和Column都提供了Locked属性,在后台代码中设置 Locked = true之后可以将相应区域的单元格进行锁定,不过在客户端中Spread并没有暴露相应的Locked属性,这就需要我们在客户端通过JS来判断单元格是否被锁定。

首先,我们在后台代码中设置[0,0]、[1,1]、[2,2]单元格的Locked为true,然后运行程序。通过浏览器中的“开发人员工具”我们可以看到,设置Locked = true单元格生成的HTML代码中有locked=”true”的属性,如下图:
locked.png

我们就可以通过单元格是否有locked=”true”的属性设置来判断单元格是否被锁定了,代码如下:
  1.         var ss = FpSpread("FpSpread1");
  2.         var table = document.getElementById("FpSpread1_viewport");
  3.     var locked = table.rows[ss.GetActiveRow()].cells[ss.GetActiveCol()].attributes["locked"];
  4.     if (locked != undefined && locked.value == "true") {
  5.         document.getElementById("Text1").value = "【" + ss.GetActiveRow() + "," + ss.GetActiveCol() + "】 单元格被锁住了!!!";
  6.     } else {
  7.         document.getElementById("Text1").value = "【" + ss.GetActiveRow() + "," + ss.GetActiveCol() + "】 单元格没有被锁住!!!";
  8.     }
复制代码


源码下载:VS2010 + Spread 6.0.3505
4976_Locked.zip (7.46 KB, 下载次数: 494)

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部