如何刷新DataGridView单元格样式

时间:2010-10-18 21:46:54

标签: c# winforms datagridview

我在包含所述DataGridView(dgvStatsTable)的Windows窗体上有这段简单的代码:

    public void LoadStatsTable(DataTable statsTable)
    {
        dgvStatsTable.DataSource = statsTable;

        var smallFont = new Font(dgvStatsTable.Font.FontFamily, dgvStatsTable.Font.Size * 0.67f);
        dgvStatsTable.Rows[0].Cells[0].Style.Font = smallFont;
        dgvStatsTable.InvalidateCell(0, 0);

        //dgvStatsTable.Invalidate();
        dgvStatsTable.Refresh();
    }

调用该函数后,我的DataGridView包含要查看的正确数据。 但是,我想要的样式更改没有显示(右上角的第一个单元格必须包含较小的文本)。

为什么?

是因为表设置为DataSource而不是构建行和列吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

该问题的解决方案是为DataGridView.CellFormatting事件编写处理程序

在动态设置样式部分的this MSDN article中找到。

答案 1 :(得分:1)

这是MSDN网络的一个非常好的答案,看来为了获得更好的控制,你需要覆盖一些功能。

http://msdn.microsoft.com/en-us/library/7fb61s43(VS.80).aspx