我在包含所述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而不是构建行和列吗?
谢谢!
答案 0 :(得分:3)
该问题的解决方案是为DataGridView.CellFormatting事件编写处理程序
在动态设置样式部分的this MSDN article中找到。
答案 1 :(得分:1)
这是MSDN网络的一个非常好的答案,看来为了获得更好的控制,你需要覆盖一些功能。
http://msdn.microsoft.com/en-us/library/7fb61s43(VS.80).aspx