【WinForms】设置单元格值时不停触发SheetDataModel事件
下图是我在进行程序性能分析时,发现有个给单元格赋值的地方在不停的触发SheetDataModel.OnChanged(int, int)事件这里对程序的性能影响很大,我想知道这个事件是否可以关闭,或者可以让我控制何时触发此事件? 您好,
目前spread可以选择部分的事件进行挂起操作,
可以使用以下代码实现:
fpSpread1.ActiveSheet.SuspendAutoUpdateChartData();
fpSpread1.ActiveSheet.SuspendFormulaParsing();
fpSpread1.ActiveSheet.SetValue(1, 1, "Asd");
fpSpread1.ActiveSheet.ResumeFormulaParsing();
fpSpread1.ActiveSheet.ResumeAutoUpdateChartData();
另外,您使用的哪种性能测试工具?
从图片中,发现做了很多赋值的操作,能否描述一下? 回复 2楼frank.zhang的帖子
性能测试工具用的是dotTrace Performance.
是进行了很多次赋值,有两个SheetA,SheetB,SheetB上有很多公式引用了SheetA的单元格,赋值给了SheetA上的很多单元格。 回复 2楼frank.zhang的帖子
按照你提供的方法,速度并没有提高。 您好,
代码中使用的ActiveSheet,您可以使用SheetA和SheetB,进行尝试。希望能帮助到您。
如果性能没有改善的话,您是否提供一个能够重现这个问题的例子程序,以方便我们重现问题。 您好,
距离这个问题的最后回复已经过去了一段时间,不知道这个问题您是否已经解决?
如果没有解决,欢迎跟贴接续讨论,如果已经解决请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
http://gcdn.gcpowertools.com.cn/attachment.aspx?attachmentid=10062 回复 6楼frank.zhang的帖子
没有解决,是按照你提供的方式实现的。 您好,
是否能够提共一个能够重现问题的例子程序,我们这边可以帮您看下,是否有改进的方法。 回复 8楼frank.zhang的帖子
我们这边的SheetA和SheetB上填充了很多单元格,大概上千个,并且填充两个sheet很多次(根据我们的数据量大小确定次数),也设置了EnableCalculation=false, 调用SuspendXXXX()挂起刷新。 您好,
您的这个问题,我会尽快提交给产品组调查,如果有进一步的进展,我会在第一时间通知您。
页:
[1]
2