安心海叶 发表于 2017-6-8 17:02:08

C1DataGrid Measure速度慢

您好!

覆写了C1DataGrid的MeasureOverride方法,调用C1DataGrid.Measure(constraint),当绑定的数据量较大时,速度运行非常慢,求教解决方案?



protected override Size MeasureOverride(Size constraint)
{

}


JeffryLI 发表于 2017-6-8 18:40:15

您好,主要是因为重写了,具体原因还不明确,之前没有出现过类似的问题,方便给我们一个重现的demo,以便我们能帮您查看原因。

安心海叶 发表于 2017-6-9 09:55:24

JeffryLI 发表于 2017-6-8 18:40
您好,主要是因为重写了,具体原因还不明确,之前没有出现过类似的问题,方便给我们一个重现的demo,以便我 ...

帮我看看,就是你们的代码,运行出来需要2s

JeffryLI 发表于 2017-6-9 10:48:20

你好,demo收到,验证后给你回复!{:4_86:}

JeffryLI 发表于 2017-6-12 15:06:07

您好,这个我们这边没有理解您的需求是什么,为什么在重写MeasureOverride,MeasureOverride用来测量子元素,返回子元素期待的大小,如果您想控制子元素绘制的大小也应该用ArrangeOverride才对 ,希望您能说的具体些,这样才能帮到您。

安心海叶 发表于 2017-6-12 15:47:38

JeffryLI 发表于 2017-6-12 15:06
您好,这个我们这边没有理解您的需求是什么,为什么在重写MeasureOverride,MeasureOverride用来测量子元素 ...

自定义了一个控件Canvas,不管需要不需要重写,当C1DataGrid数据量较大时,序列化C1DataGrid添加到Canvas里,显示速度很慢,视觉不能接受

JeffryLI 发表于 2017-6-12 18:02:13

您好,您的序列化C1DataGird指是什么?是序列化xml还是json?为什么会使用canvas,我们的datagrid,每个cell是一个border,canvs一般用来绘图用的,这块我不太理解您的意思,或者您方便给我提供一个demo。我帮您看看,希望能尽快帮助您解决问题。

安心海叶 发表于 2017-6-13 09:33:20

JeffryLI 发表于 2017-6-12 18:02
您好,您的序列化C1DataGird指是什么?是序列化xml还是json?为什么会使用canvas,我们的datagrid,每个cell ...

序列化xml为C1DataGrid,然后Add到DesignerCanvas,以方便Drag和Resize。在添加到DesignerCanvas后默认调用MeasureOverride。此时速度较慢

JeffryLI 发表于 2017-6-13 11:32:45

本帖最后由 JeffryLI 于 2017-6-13 11:41 编辑

您好,我理解您的意思是有一个XML数据,我要反序列化成实体类然后绑定到C1DataGrid,然后我还有一个自定义的Canvas,需要把C1DataGrid添加到这个Canvas里面方便拖拽和resize,这个时候呢因为要获取C1DataGrid的绘制尺寸,所以需要override measure方法,我发现他比较慢,我这样理解对吗?

安心海叶 发表于 2017-6-13 12:28:16

本帖最后由 安心海叶 于 2017-6-13 13:53 编辑

JeffryLI 发表于 2017-6-13 11:32
您好,我理解您的意思是有一个XML数据,我要反序列化成实体类然后绑定到C1DataGrid,然后我还有一个自定义 ...
对的,对不起,暂时还给不到你demo
页: [1] 2
查看完整版本: C1DataGrid Measure速度慢