Chr*_*sAU 7 vb.net data-binding bindinglist
我认为这个标题几乎抓住了我的问题,但有一点背景如下:
当我有一个表单加载时,它会向绑定列表添加几千(30k个奇数)对象.当我的应用程序第一次加载它需要几秒钟(大约10秒左右的内存)时,它循环遍历对象列表并使用add函数将其添加到BindingSource.但是,当在后续表单上发生这种情况时,使用相同的代码加载它只需要一两秒钟.
所以我的查询是:
1.为什么BindingList(Of T)没有AddRange成员?
2.使用AddRange函数,初始和后续添加是否会更快?
3.为什么一个版本的代码运行速度慢于相同版本的任何想法?
感谢您提供的任何帮助.
来自OP:
经过很长时间,我终于找到了 DataGridView DefaultRowTemplate ContextMenuProperty 的一个(不确定这是否是唯一的)问题。设置此值后,当我将项目添加到基础 BindingSource 时,会增加相当多的时间。
为了将来的参考,我使用“高效使用快捷菜单”遇到了这个msdn.microsoft.com/en-us/library/ha5xt0d9.aspx 。我通过惨痛的教训学到了这个教训。
上述文章中的 MSDN 链接建议不要在每个单元格中使用快捷菜单,尤其是在模板中放置快捷菜单。相反,用户应该为整个控件创建单个快捷菜单或处理 CellContextMenuStripNeeded或RowContextMenuStripNeeded事件。
| 归档时间: |
|
| 查看次数: |
6102 次 |
| 最近记录: |