大数据的显示

这两天在弄大数据显示到ListView中的DataGrid。

 

不知以前是谁告诉过我还是我自己想的:分页应该会比一次性加载的快。

所以各种百度找了Datagrid分页显示数据,在Test项目中确实可以实现,但是挪用到公司的项目中却不行了,各种排错之后,不能解决的报错是:错误62参数 1: 无法从“Microsoft.Windows.Controls.DataGrid”转换为“System.Windows.Controls.DataGrid”。

老天!什么怨什么仇。我的理解应该是因为DataGrid的页面是Microsoft的UserControl,而分页需要的DataGrid是System下的。好吧,我解决不了。

 

那么换一种方法,用异步试试。于是又各种百度,恩,有个大神已经有一个现成的项目了。于是准备下载过来各种研究。突然发现,他调用的数据库是现成的已经导出的数据表,而我的数据表是从网上读取的。好吧我是小白,大部分都看不懂,所以也只能放弃辣么好的项目了。

 

既然不能从根本上解决这个问题(其实是我实在技术不行),那么能不能从页面上做些修改,让数据的加载变的快一点。

 

实践是检验真理的唯一标准。

 

我重新看了一下XMAL的文档大纲,我感觉我的文档大纲还是很简单的:

 

那么从哪里入手呢?a,ha!一个一个试呗:ScrollViewer,就是你了!

去掉<ScrollViewer></ScrollViewer>这层外衣,F5一按。

恩?!我的天,竟然真的快了!

我粗略的估计了一下,之前的数据加载(加载同样多的数据),有ScrollViewer的存在,需要10秒左右的时间,而去掉之后,只需要2秒就足够了!!

那么到底是为什么呢?

还是我的个人猜想:ScrollViewer作为一个滚动条,当页面显示不下的时候,它就会出现,而数据越多,它需要绘制的动作也就越多,数据的加载也就越慢。

各位大神我理解的对不对?

 

 

关于分页的错误已经解决了。
下面说下思路。
我是在WPF的群里面询问了一下大神。大神给了我几种解决方案:①重新写ShowPages的方法,将计算分页数和设置分页的功能分开写。②将DataGrid的声明用完整的路径名。③抽象一个接口出来进行分页处理。


因为第②种方法比较简单,所以先试了第②种。
在page.xmal.cs中重新声明。
 private DataGrid grdList;
==》private Microsoft.Windows.Controls.DataGrid grdList;


同时ShowPages()的方法中的参数:
DataGrid grd
==》Microsoft.Windows.Controls.DataGrid grd


问题完美解决。
不过经过测试,数据量相对少的时候还是不要分页了,换页的时候会卡。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值