代码之家  ›  专栏  ›  技术社区  ›  Bruno

如何刷新DataGridView单元格样式

  •  2
  • Bruno  · 技术社区  · 14 年前

    我在包含上述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();
        }
    

    但是,我想要的样式更改没有显示(右上角的第一个单元格必须有较小的文本)。

    为什么?

    是因为表被设置为数据源而不是生成行和列吗?

    谢谢!

    2 回复  |  直到 12 年前
        1
  •  3
  •   EJC    14 年前

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

    发现于 this MSDN article 在“动态设置样式”部分中。

        2
  •  1
  •   wfoster    14 年前

    这里有一个来自msdn网络的非常好的答案,看起来为了拥有更大的控制权,您需要覆盖一些函数。

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