It is well known that System.Windows.Forms controls use standard Windows API based on window messages. To repaint a certain part of a control, it should invoke the Control.Invalidate(Rectangle rect) method, where Rectangle specifies location and size of the client surface that should be repainted. In general, the calculation of screen coordinates of an element is a quite complicated process, especially in a hierarchical data grid. The .Net Grid provides very convenient API to repaint different elements such as cells, rows, columns etc.
Below you may see a list of elements that can be repainted in the grid:
|Cell.Invalidate()()()()||Repainting of a single cell.|
|Row.Invalidate()()()()||Repainting of a single row.|
|Header.Invalidate()()()()||Header invalidation. If the header is located in the hierarchical grid (not top-level header), all duplicates in visible surface are repainted.|
|Header.InvalidateRows()()()()||Repaint all rows in the grid on the same hierarchical level as the header.|
|Column.Invalidate()()()()||Column title invalidation.|
|Column.InvalidateCells()()()()||Repainting of all cells in the grid that are related to a certain column located on the same hierarchical level as a header.|