如何更快地更改DataGridView控件中的行样式(C#)?

问题描述:

我有一个DataGridView的形式有一个数据表作为数据源。我需要能够在用户执行某些操作时更改网格视图中的单元格样式。到目前为止我发现的唯一方法是循环遍历单元格并更改单元格样式。如何更快地更改DataGridView控件中的行样式(C#)?

这工作正常,但这需要很长时间。对于我正在测试的表,我有〜25列,每行需要一秒,这是更改许多行的样式时的问题。

有没有办法快速更新整行或更好的方式?由网格视图导致的等待是否尝试验证数据?它试图更新网格上的动态可视化(我尝试在单元更新期间暂停网格的布局,它没有帮助)?

编辑:

对不起,我把错误的标签,并可能留下了一些信息。这是使用System.Windows.Forms.DataGridView控件的Windows桌面应用程序。

+0

这些依赖于值,你检查了'CellFormatting'事件吗? – V4Vendetta 2011-06-17 07:34:22

+0

我不知道,但我会发现。 – 2011-06-17 15:15:49

+0

@ V4Vendetta - 它不依赖于数据。该应用程序与数据库相关,我根据他们是编辑现有的数据库记录还是创建新的数据库来突出显示该行(例如,没有更改的行=默认样式,正在编辑的现有行=黄色,新行=绿色)。 – 2011-06-17 16:56:59

整行风格可以通过使用例如该行的BackColor属性

dataGridView.Row[index].DefaultCellStyle.BackColor = Color.Yellow 
+0

感谢这个,我得到了10倍以上的速度。谢谢! – Dariusz 2013-08-19 08:45:12