我有一个包含4个查找表的主表。所有表都绑定到通过存储过程访问的SQL表。每个查找表都有3到27行。主桌有大约22,000排(宠物食品和产品)。
我的DataGridView显示主表的行,查找列配置为ComboBoxes。我可以插入,删除,编辑主表,...所有这些功能都可以正常工作。表单的初始加载和插入新行每个大约需要一秒钟,但这并不重要。所有其他操作都相对较快。
Here is a screen shot of the DataGridView:
当我关闭表单时...只有在将一行或多行插入主表后才会出现问题。表格的关闭可能需要一分钟。在表单的结束时,我现在自己处理5个表的绑定源,以便我可以计时。每个表通常需要处理4个查找表的绑定源需要10-15秒。关闭主表的绑定源根本不需要时间。同样,这只在将新行插入主表后才会发生。我可以编辑主表行,更改查找列值和删除行,并在这些用例中关闭表单是即时的。
我已经尝试在VS中运行程序,在VS之外运行调试EXE,并在运行EXE发行版的VS之外运行,所有这些都有类似的结果。
如何防止长时间延迟处理ComboBox绑定源?这是典型的,我应该考虑哪些替代方案?
答案 0 :(得分:0)
在尝试各种不成功的解决方案后,我的头撞在墙上三天后,我从头开始重建应用程序。这解决了问题,我相信我发现了原因。起初我刚刚创建了包含所有表适配器的数据集,这非常快,然后我添加了一个表单和网格来模仿我上面描述的条件。测试确认没有任何问题所以我继续使用相同的ComboBox查找添加更多表单,并继续正常工作。我很确定我以前的数据集定义中有些东西搞砸了。希望这可以帮助将来的某个人。