currentCell多次设定会有cell设定失败的异常,请问怎么解决
multirow 7.0J例:
有这样一行代码:GcMultirow.CurrentCell = GcMultirow.item(0,0)
执行上记代码时,将焦点置到了cell(0,0)上了,并触发cellEnter事件
但在cellEnter事件中,会有类似GcMultirow.CurrentCell = GcMultirow.item(0,1)的代码
再执行这个代码后,会有cell设定失败的异常
请问有什么解决办法? 不是很清楚你们的业务需求,但是这个逻辑确实造成了GcMultiRow内部的循环错误,建议直接修改代码为设置(0, 1)Cell位置,如果你们是旧代码改造,一个方式是在设置时先摘掉事件,设置完后在代码中强行调用一次事件函数。 第二个方案相关代码:
private void button1_MouseHover(object sender, EventArgs e)
{
this.gcMultiRow1.CellEnter -= gcMultiRow1_CellEnter;
this.gcMultiRow1.CurrentCell = this.gcMultiRow1;
gcMultiRow1_CellEnter(null, null);
this.gcMultiRow1.CellEnter += gcMultiRow1_CellEnter;
}
private void gcMultiRow1_CellEnter(object sender, CellEventArgs e)
{
this.gcMultiRow1.CurrentCell = this.gcMultiRow1;
}
回复 3楼dafo的帖子
多谢回答,上记的意思我懂了,确实是旧代码改造,
但上记的办法在这个项目里无法实现(项目本身原因)
其实上面虽然报错,但最后的结果是正确的
所以有没有可能用什么方法能屏蔽下错误,不让它弹出来?这样结果就正确了 可以通过捕获异常来处理,代码:
try
{
this.gcMultiRow1.CurrentCell = this.gcMultiRow1;
}
catch
{ }
页:
[1]