我需要一个相当简单的问题的建议 - 我想在datagridview单元格中绘制图像。
问题是行数可能相当大:最多100 000行,有时甚至更多。
我尝试使用CellFormating但在这种情况下网格闪烁。我试图设置DoubleBuffered = true但它只是更糟糕 - 窗口挂起,CPU使用率显示为100%。其他控件停止绘制自己。此外,它没有帮助闪烁太多(甚至在几行)。
所以我尝试使用源DataTable并添加了一列。比我填充图像。但这是一次失败:应用程序内存在一个大型数据表上变得非常快,它只是崩溃了。
此外,我尝试使用DataSourceChanged事件和设置图像行[cell] .Value =。它会发射,但网格工作很奇怪:有时会显示图像,有时则不会。我读到你必须设置底层数据才能使其正常工作,但是在我写这篇文章时它会引起内存问题。
到目前为止,我已将图片更改为文字,但我当然希望拥有用户友好的用户界面。
在这种情况下我该怎么办?可能我应该放弃图像或改变显示逻辑?即使用虚拟模式。我很久以前就尝试过使用它,但是我遇到了一些困难所以我只是跳过这种方式,我的网格工作在非虚拟模式下。
答案 0 :(得分:0)
好的,我最终使用了CellFormatting事件。没有我的帮助,看起来眨眼就消失了。图像看起来很好。