DataGridView分页显示优化
DataGridView 的分页功能,算是老生常谈了,但实用性还是挺高的。是做 WinForms 的时候,表格数据一多,页面卡得不行。这时候用 SQL 里的ROW_NUMBER()函数配合分页逻辑,就能让你的界面一下子轻盈不少。嗯,得好,翻页干净利落,用户体验直接上去。
ROW_NUMBER()其实挺像给每条数据编号的工具,你可以按时间、ID 之类的排序,轻松搞定每一页要显示哪些行。核心代码就像这样:
SELECT * FROM (
SELECT ROW_NUMBER() OVER (ORDER BY OrderDate) AS RowNum, * FROM Orders
) AS RowConstrainedResult
WHERE RowNum BETWEEN ((currentPage - 1) * rowsPerPage) + 1 AND (currentPage * rowsPerPage)
你只要把这个结果喂进DataGridView就行了,响应也快,代码也简单。
还有个小建议,分页参数最好不要写死,你可以加个页码选择器控件,比如输入框+“跳转”按钮。这样翻页交互性会好多,用户也有参与感。
如果你数据量大,可以考虑把分页逻辑放到存储过程里去,省得每次都拼 SQL,性能会更稳。实在不行,搞个缓存也行。
嗯,说到底,DataGridView 配 ROW_NUMBER 分页这套组合,稳定又好用,蛮适合中小型 WinForms 项目的。
91.99KB
文件大小:
评论区