我一直遇到一个开始激怒我的错误,我不知道如何解决它。 我有一个分组的 gridview,在大约 30 个组中可能包含 500 - 1000 个详细信息项。 (全部在 C# 中完成)当用鼠标捕获滚动条并快速移动我(迟早)得到的列表时,一个
Unhandled exception at 0x0fda84de in myapp.exe: 0xC0000005: Access violation reading location 0x006d006f.
调试器会将我带到一个对我来说是象形文字的程序集页面。 我正在通过对另一台服务器的 api 调用填充 gridview,这确实对我提供列表的可观察集合进行了相当大的更改,但是这一切都是在我遇到异常之前加载的
我不知道这只是某种内存不足的事情,还是错误等。我知道这一点:
但这似乎不符合要求;我没有使用缓存,也没有在导航时发生。我也不喜欢内联组标题。大量应用程序(音乐、Netflix 等)。使用分组的 gridview,不要遇到这个问题。 我快要穿这件衣服了。
如果我知道错误是什么,我可以更好地追踪源头!
谢谢大家,
最佳答案
我不确定您使用的是哪种 gridview,但是如果您仅在行数很大而不是行数很少时遇到这种情况,您应该考虑不使用 .net gridview,因为它们的性能很慢。
快速的谷歌搜索将为您提供您需要的每种技术的大量网格。
如果您正在使用 .net“datagridview”,请尝试在您的项目中使用此 dll,我知道它对我有很大帮助,并且我努力寻找它......
http://speedy.sh/dHhX4/SpeedUpDGV.rar
将 dll 添加到引用后,只需像这样使用它:
YourGridviewName.SpeedUpThisGridView(true);
您还应该考虑以某种异步方式分页或发送信息,然后重新加载...
但这只是在处理大量信息的情况下
希望我有所帮助。
关于c# - "large"滚动时数据集崩溃 Gridview。 Win32错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15077134/