锁定某列不可编辑问题
你好,请问SpreadSheet表格控件是否可以锁定某列不可编辑(注:只锁定指定的列,其它列可以编辑) 目前WPF在锁定后确实没有办法调整行列宽高可以用另外一种办法来禁止编辑,通过在EditStarting事件中添加如下代码,即可禁用第一列的编辑
void Spread_EditStarting(object sender, GrapeCity.Windows.SpreadSheet.UI.EditCellStartingEventArgs e)
{
if (e.Column == 0)
e.Cancel = true;
} 通过设置sheet 的Protect 属性,可以阻止编辑已经锁定的单元格,然后将该行锁定即可
fpSpread2.ActiveSheet.Protect = true;
fpSpread2.ActiveSheet.LockBackColor = Color.LightCyan;
fpSpread2.ActiveSheet.LockForeColor = Color.Green;
fpSpread2.ActiveSheet.Columns.Locked = true; Richard.Ma 发表于 2020-6-5 11:35
通过设置sheet 的Protect 属性,可以阻止编辑已经锁定的单元格,然后将该行锁定即可
代码已经试过了,这个是整个页不可编辑,我们想要的是指定列不可编辑,其他列还可编辑
Richard.Ma 发表于 2020-6-5 11:35
通过设置sheet 的Protect 属性,可以阻止编辑已经锁定的单元格,然后将该行锁定即可
而且ActiveSheet是没有LockBackColor属性和方法 本帖最后由 Richard.Ma 于 2020-6-5 15:29 编辑
不好意思,需要先将sheet整体默认的locked属性先设置为false,具体我验证一下如何设置然后回复你
或者将其他列的Locked设为false也行,但是这样比较麻烦,而且新增列可能也会有问题
Richard.Ma 发表于 2020-6-5 15:17
不好意思,需要先将sheet整体默认的locked属性先设置为false,具体我验证一下如何设置然后回复你
或者将其 ...
好的,等待您的回复 设置DefaultStyle.Locked = false后虽然可以让整个文档解除锁定,但是后面设置单列所动会失效,
因此目前建议还是对所有列单独设置,按照需要设置是否锁定
spread1.ActiveSheet.Columns.Locked = true;
spread1.ActiveSheet.Columns.Locked = false; Richard.Ma 发表于 2020-6-8 09:28
设置DefaultStyle.Locked = false后虽然可以让整个文档解除锁定,但是后面设置单列所动会失效,
因此目 ...
好的,我先尝试一下 好的
页:
[1]
2