找回密码
 立即注册

QQ登录

只需一步,快速开始

shizuka

银牌会员

6

主题

39

帖子

3208

积分

银牌会员

积分
3208

活字格认证

shizuka
银牌会员   /  发表于:2011-7-5 09:07  /   查看:9197  /  回复:11
请教MultiRow6.0,combox里绑定了3万多条值,绑定和点下拉框时,程序运行速度特别慢,有什么方法能提高速度吗

11 个回复

倒序浏览
neil
论坛元老   /  发表于:2011-7-5 09:52:00
沙发

回复 1# shizuka 的帖子

不知道你的数据源是什么,
我试着绑定了DataTable和List,  绑定了40000行数据, 点击下拉框打开只用了不到一秒的时间。 这个应该不算“特别慢”。

我猜测原因可能出在数据源上,请检查1.数据源的填充是否特别慢,2. 你是否是每次点击下拉框之前都进行了一次绑定。
回复 使用道具 举报
shizuka
银牌会员   /  发表于:2011-7-5 10:02:00
板凳
应该是每次点击都得绑定一次,
因为我需要的是画面只显示code,而下拉出来的数据是code:name。
所以在离开下拉框时重新绑定了一下,每次点击时又绑定了一下。
请问有什么好办法解决吗?
回复 使用道具 举报
neil
论坛元老   /  发表于:2011-7-5 10:22:00
地板

回复 3# shizuka 的帖子

请上传一个实例工程,我们看看。
回复 使用道具 举报
shizuka
银牌会员   /  发表于:2011-7-5 13:21:00
5#

回复 4# neil 的帖子

怎么上传?
回复 使用道具 举报
shizuka
银牌会员   /  发表于:2011-7-5 13:23:00
6#

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
shizuka
银牌会员   /  发表于:2011-7-5 13:24:00
7#
把画面给你发过去了,你们添加到工程里就可以了.
回复 使用道具 举报
neil
论坛元老   /  发表于:2011-7-5 16:08:00
8#
首先,我们觉得给一个ComboBoxCell绑定几万条数据在设计上不太合理,  ComboBox是用来在下来框中选择数据的, 但是你绑定太多的数据会给选择带来太大的困难。 所以第一个建议是能否考虑使这个数据源的数量减少来提高性能。

然后,关于你这个case, 我们运行发现,即使是三万行数据,对于单个ComboBoxCell来说,打开下拉框的时间也不到一秒,在通常情况下这个时间是可以接受的。  

运行中我们还发现,你这个case中真正慢的是在点击不同的cell的时候,Cell的切换要花很长时间,选择效果基本上跟不上,这个慢的原因是因为MultiRow在重绘的时候,需要取每个Cell的值,而你的这个form中,每个ComboBoxCell 都绑定了三万行数据,总共有十行,每次就是要查询三十万次,而且由于设置了ValueMember和DisplayMember, 在查询过程中还要进行字符串的比对。这个花费了太大的时间。  就是这三十万次的查找及比对操作拖慢了整个MultiRow的速度。

所以针对这个情况,我把你的case改了一下,给你一个解决方案。
主要改动如下:
1. 不再给每个ComboBoxCell绑定数据源,这样就不会发生查找操作了。
2. 在EditingControlShowing事件中, 给e.Control绑定数据源。 这样,在编辑状态就可以从下拉列表选择了。

3. 这样,跟你现在的实现一样, 在编辑状态下是code:name的形式, 退出编辑状态之后是code的形式。  这个从code:name 变回code 形式的过程 是你在CellValidated事件中自己完成的,我没有改动。   
但实际上,这个动作最好应该在CellParsing 事件中完成,在CellParsing的时候根据一定的规则把code:name 变回code 。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
shizuka
银牌会员   /  发表于:2011-7-5 16:38:00
9#
太感谢拉,现在马上去试.
再问一个问题,现在光标从MultiRow离开到别的控件的时候,离开光标的CELL的背景色变蓝了.
能让它也像别的CELL那样还是白色的吗?
回复 使用道具 举报
neil
论坛元老   /  发表于:2011-7-5 16:56:00
10#

回复 9# shizuka 的帖子

把MultiRow的HideSelection设为True。

希望看到你的反馈。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部