Bug Details: InvalidateColumn method on DataGridView
http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=dd53c088-9918-4388-af13-87329cf8445a
によれば、
-- 引用開始 ---------------------------------
the concept of CellTemplate is that anytime a new cell is required for a
column the cell is cloned from the Column's CellTemplate. There isn't any
function in the grid that can force a "regeneration" of cell columns. You
will have to remove the column and add the column back in for the cells in
the column to be recreated/regenerated based upon the CellTemplate.
-- 引用終了 ---------------------------------
となっている。つまり、DataGridViewColumn.CellTemplateをどのように変更したところで、新たにCellが作られる時だけにCellTemplateが適用されるようである。もっとも、名前から言ってすこぶる納得できる。
であれば、ここの説明は間違ってますよね。DataGridView.InvalidateColumnメソッドでも、適用されるような書き方がしてあるんですもの。
DataGridViewColumn.CellTemplate Property
http://msdn2.microsoft.com/en-us/library/system.windows.forms.datagridviewcolumn.celltemplate.aspx
-- 引用開始 ---------------------------------
Note
Changing the properties of the cell template will not immediately affect the user interface (UI) of the column's existing cells. These changes are only apparent after the column is regenerated (for example, by sorting the column or through a call to the DataGridView.InvalidateColumn method).
-- 引用終了 ---------------------------------