找回密码
 立即注册

QQ登录

只需一步,快速开始

iceman

社区贡献组

270

主题

1万

帖子

1万

积分

社区贡献组

积分
19311

活字格认证微信认证勋章元老葡萄

iceman
社区贡献组   /  发表于:2011-10-10 15:07  /   查看:6071  /  回复:0
在 Spread 中单元格可以被锁定,锁定的单元格禁止任何对单元格内容的操作,在 Spread 早期的版本中,可以通过代码设置锁定单元格的内容,甚至可以复制锁定单元格的内容。许多客户反映说这个功能不实用。所以,在晚期的 Spread for ASP.NET  版本中改变了这个功能。使锁定单元格内容不允许通过 javascript 或 最终用户设置或复制单元格的内容。随着 Spread 的广泛使用,许多程序员有交互锁定单元格的需求出现。怎样解决这个问题呢?

有一种方法是可以通过 javascript 使锁定单元格内容仍然可以进行设置,你要做的是通过移除锁定单元格的 “FpCellType” 属性,这个属性包含单元格锁定的信息,然后对单元格的内容进行设定,最后重新锁定单元格。

代码演示:
服务端代码:
  1. fpSpread1.ActiveSheetView.Columns(0).Locked=True
复制代码
客户端代码:
  1. function window.onload(){
  2.                           var spread = document.all("FpSpread1");
  3.                           if (spread!=null) {
  4.                                     spread.onActiveCellChanged = cellChanged;
  5.                           }
  6.                 }

  7.                 function cellChanged() {
  8.                           var iActiveRow, iActiveCol;
  9.                           iActiveColumn = FpSpread1.ActiveCol;
  10.                           iActiveRow = FpSpread1.ActiveRow;
  11.                           var cell = FpSpread1.GetCellByRowCol(iActiveRow, iActiveCol);
  12.                           cell.removeAttribute("FpCellType");
  13.                           FpSpread1.SetValue(0, 0, "Scott", true);
  14.                           cell.setAttribute("FpCellType", "readonly");
  15.                 }
复制代码
使用相同的设置,你可以允许最终用户复制单元格内容。

0 个回复

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