找回密码
 立即注册

QQ登录

只需一步,快速开始

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

超级版主

299

主题

7874

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
13131

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

ZenosZeng 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-9-3 20:20  /   查看:5381  /  回复:0
Spread中的属性设置存在继承关系,单元格的Locked属性值也可以从是在的行、列进行继承。

因为Cell、Row和Column的Locked属性值默认是false,如果我们直接取Cells[r,c].Locked就无法判断该单元格是否处于锁定状态。

不过,Spread给我们提供了GetCompositeInfo和GetDirectInfo方法来判断单元格属性的详细设置情况,比如通过下面代码我们可以准确的判断单元格是否处于锁定状态:
  1.     StyleInfo csi = new StyleInfo();
  2.     StyleInfo dsi = new StyleInfo();

  3.     fpSpread1.ActiveSheet.Models.Style.GetCompositeInfo(fpSpread1.ActiveSheet.ActiveRowIndex, fpSpread1.ActiveSheet.ActiveColumnIndex, -1, csi);
  4.     fpSpread1.ActiveSheet.Models.Style.GetDirectInfo(fpSpread1.ActiveSheet.ActiveRowIndex, fpSpread1.ActiveSheet.ActiveColumnIndex, dsi);
复制代码


GetCompositeInfo方法取到的是该单元格最终的属性设置,包括从Row和Column继承的结果
GetDirectInfo方法是用于判断是否直接设置了单元格的某个属性,而不是从Row和Column继承的结果

源码下载:VS2010 + Spread .NET 6.0.3505
0000_Locked.zip (10.67 KB, 下载次数: 465)

0 个回复

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