从DataGridView更新所有单元格的样式

时间:2013-05-29 13:29:31

标签: c# .net winforms datagridview

是否可以从DataGridView更新所有单元格的样式而不迭代它们,如下例所示?

for (int i = 0; i < dgv.Columns.Count; i++)
    for (int j = 0; j < dgv.Rows.Count; j++)
        if (dgv[i, j].Style != style)
            dgv[i, j].Style = style;

我的问题是实际的,因为所有细胞的slyle更新速度都很慢。

2 个答案:

答案 0 :(得分:1)

如果要将相同的样式应用于所有单元格,只需使用datagridview的DefaultCellStyle

dataGridView.DefaultCellStyle.BackColor = Color.Green;

当您想要将不同的样式应用于同一行的不同单元格时,Killercam的答案会很有用。

答案 1 :(得分:0)

您可以逐行执行此操作:

foreach (DataGridViewRow row in dataGridView.Rows)
    Row.DefaultCellStyle.BackColor = Color.Red;

for (int r = 0; r < dataGridView.Rows.Count; r++)
    dataGridView.Rows[r].DefaultCellStyle.BackColor = Color.Red;

使用DefaultCellStyle时,您也可以设置其他属性。

我希望这会有所帮助。