【v12.45】【如何结束Cell的编辑状态】
本帖最后由 啷个里个啷 于 2022-11-21 10:50 编辑以如下表格为例子,表格数据是动态加载的,列是固定的。其中C列是可编辑列,但是只有部分行的该列可编辑,
假设苹果行我不想让用户可以操作编辑,其他行可以操作编辑录入。
我试着在表格的EditModeStarting事件中,判定ActiveRow和ActiveColumn是我不想开放编辑的单元格时,就执行StopCellEditing()方法,希望可以直接退出编辑模式。虽然确实结束了,但是它还会进入EditModeOff事件中(我需要在这个事件中对其他可输入行的输入值做处理)。
有什么其他方式可以直接限制这个单元格不可操作吗?比如我试着查找通过代码设置单元格只读,但是没有找到
:hjyzw:EditModeStarting事件中来去取消进入编辑完全没有问题。
另外,也可以通过表单保护来禁止编辑,将单元格默认的locked属性设置为false,仅设置需要禁止编辑的单元格locked属性为ture,然后设置sheet表单保护即可 自己找到了实现方法,直接使用事件的取消就好了,相当于对于spread表格而言,没有进入编辑模式,后续就也不会触发编辑结束事件了
private void fpsBargaining_EditModeStarting(object sender, EditModeStartingEventArgs e)
{
//是否允许编辑
bool isCanEdit = false;
if (允许编辑时)
{
isCanEdit = true;
}
if (!isCanEdit)
{
//退出编辑
e.Cancel = true;
return;
}
else
{
//自定义处理
}
}
页:
[1]