我正在使用datagridview在窗体表单应用程序中进行数据呈现。 应用程序实际上是获取了很多行并且系统卡住了,进入不响应状态。它通常获得100K +行。 正常的C#窗体应用程序可以在datagridview中轻松加载多少行正常的C#窗体表单应用程序可以在datagridview中轻松加载多少行
0
A
回答
2
我不知道有任何硬性限制。这将基于诸如应用程序可用资源量等因素。如果您渲染大量数据,则可能需要考虑使用虚拟模式。 https://docs.microsoft.com/en-us/dotnet/framework/winforms/controls/implementing-virtual-mode-wf-datagridview-control
1
我不认为它是一个好主意,首先获取100k +行并显示所有网格,使用可以使用更快,更高效的分页。根据数据库的流量和性能,您可以一次控制要一次提取的记录数量。
@pageNumber AS INT,
@rowsPerPage AS INT,
OFFSET((@PageNumber -1) * @RowsPerPage) ROWS
FETCH NEXT @RowsPerPage ROWS ONLY;
GO
阅读这篇文章: https://10tec.com/articles/why-datagridview-slow.aspx
0
我分析的应用和发现有什么不对的datagridview的。如果需要它可以包含100K行。 还有一些其他函数会在数据加载时执行,这会花费很多时间并使应用程序处于未响应状态。 虚拟模式和寻呼也是不错的选择。 我同意你的观点,即100K行对于人来说是太多了。那只是浪费资源和努力。我明白那个。我其实正在尝试改进别人的应用程序。 谢谢你们!
相关问题
- 1. 列表框可以有多少行? Windows窗体应用程序
- 2. 如何轻松在C#窗体窗体应用程序中密码密码?
- 3. 在C#窗体窗体应用程序中加载jQuery
- 4. 可以在单个进程中加载多少运行时(CLR)?
- 5. 是否可以轻松调试iPhone串口应用程序?
- 6. 数据库应用程序设计。可以轻松扩展
- 7. 在c#窗体窗体应用程序中加载位图图像
- 8. 如何快速,轻松地嵌入在WinForms应用程序的字体在C#
- 9. C#我可以发布我的窗体表单应用程序吗?
- 10. 如何在Windows窗体应用程序的DataGridView行中动态添加Contols?
- 11. 如何在窗体完全可见后正确加载DataGridView?
- 12. 轻松访问Rails应用程序?
- 13. 轻松修补OS X应用程序
- 14. 如何加载在一个Visual C++ Windows窗体应用程序
- 15. 如何将sdl.net窗口添加到C#窗体表单应用程序中?
- 16. 在C++中轻松的内存排序
- 17. c#窗体窗体应用程序
- 18. C#窗体窗体应用程序
- 19. 轻松加载动画
- 20. 我应该添加多少罐以使应用程序正常工作?
- 21. C#运行Windows窗体应用程序不是以表单开始
- 22. 在C#窗体表格应用程序中的表格
- 23. 调度程序不在C#窗体窗体应用程序
- 24. 在Windows窗体应用程序中重新加载未聚焦的窗体以进行显示更改。
- 25. 在applicationDidFinish在可可应用程序中加载主窗口
- 26. 在窗体中使用DialogResult窗体应用程序c#
- 27. 可以Haskell [轻松]做COM?
- 28. 是否可以轻松地对C++ .Net程序集进行反编译?
- 29. 是否可以在vim中轻松插入单个单词
- 30. 我们可以添加成员表来使用C#窗体窗体应用程序
您的速度可能受到列数以及它们存储的数据类型的影响。也没有关于您如何呈现数据的信息。也许如果你提供一些额外的信息,我们可以帮助你更好。你通常应该罚款100k行... – 0014
你正在加载UI线程中的数据我相信。卸载加载到后台工作者/单独的线程/异步任务,并且一旦数据被完全加载,将其全部同步到UI线程和数据网格。这将消除“无响应状态”,但针对您的问题的更好解决方案是重新考虑逻辑,因为用户在单个网格中很少需要100K +记录,因为这对于人类来说是太多了。您希望如何一次看到100K链接的搜索引擎响应? –
这是一种错误的问题。您正在为人类的利益创建UI,而不是保持操作系统的快乐。所以真正的是“用户可以合理处理多少行”。关于50.这当然不会导致性能问题。在他的腿上倾倒100K行只是产生完全无法使用的用户界面,没有人看过,所以不值得考虑。看看谷歌为百万比赛提供灵感提示的方式。 –