最近做一个项目遇到大量数据填充到DGV耗时太多的问题,不得不开始考虑VirtualModel=True了,网上翻看了几篇博客后基本了解用法,遇到了一些问题,小记以备忘:
1.参考文章:https://blog.csdn.net/lonestar555/article/details/6930218
2.CellValueNeeded事件的触发前提条件是VirtualModel=True,然后DGV有显示出来的未填充的新行,产生新行有很多方法,例如:设置DGV.RowCount,DGV.Rows.Add(),DGV.Rows.AddCopies()等。
3.虚模式填充数据是一格一格填充的,不要使用DataSource绑定数据。
4.按照参考文章完成代码后发现竟然虚模式还是无效,会一次性填充所有数据,百思不得其解,尝试很多办法后,终于被我找到了原因,竟然是因为我之前把DGV的AutoSizeColumnMode属性和AutoSizeRowMode属性设置成了AllCell,都改成DisplayedCell之后问题解决。