【问题标题】:How do I make changing row style in a DataGridView control faster (C#)?如何更快地更改 DataGridView 控件中的行样式(C#)?
【发布时间】:2011-09-16 17:25:06
【问题描述】:

我在一个表单中有一个 DataGridView,它有一个数据表作为数据源。当用户执行某些操作时,我需要能够更改网格视图中的单元格样式。到目前为止,我发现的唯一方法是遍历单元格并更改单元格样式。

这很好用,但这需要很长时间。对于我目前正在测试的表,我有大约 25 列,每行需要一秒钟,这在更改大量行的样式时是一个问题。

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

编辑:

抱歉,我放错了标签,可能遗漏了一些信息。这是在使用 System.Windows.Forms.DataGridView 控件的 Windows 桌面应用程序上。

【问题讨论】:

  • 这些是否依赖于值,您检查过CellFormatting 事件吗?
  • 我不知道,但我会知道的。
  • @V4Vendetta - 它不依赖于数据。该应用程序与数据库相关,我根据他们是否正在编辑现有数据库记录或是否正在创建新记录来突出显示该行(例如,没有更改的行 = 默认样式,正在编辑的现有行 = 黄色,新行= 绿色)。

标签: c# performance datagridview .net-2.0 windows


【解决方案1】:

可以使用例如更改整行样式行的BackColor属性

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

【讨论】:

  • 多亏了这个,我的方法快了 10 倍。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-15
  • 1970-01-01
  • 1970-01-01
  • 2017-09-03
  • 2011-08-24
  • 2012-03-29
  • 2014-12-19
相关资源
最近更新 更多