Each row in RadGridView is represented by GridRowElement class.
The header element is represented by GridHeaderRowElement class.
Depending on the value of GridViewTemplate.AddNewRowPosition property, the new row element appears below the header row or after the data rows.
FilteringRow appears automatically when you have Filtering enabled by EnableFiltering or GridViewTemplate.EnableFiltering properties.
This column appears when the grid data is grouped or there is a hierarchical structure to facilitate the expand/collapse functionality. The expand column is always placed in front of all other grid content columns and cannot be moved.
Displays a column bound to a field in a data source.
MasterTemplate is the top most GridViewTemplate in the hierarchical structure. It contains all inner GridViewTemplates(GridViewTemplate.Templates collection). When there is no hierarchical structure, only the MasterTemplate is displayed.
GridViewTemplate is a basic class containing settings for a single level of the hierarchical structure.
When you want to enable the group-by functionality for the end-user, you need to set RadGridView.GroupingEnabled to true and GridViewTemplate.EnableGrouping. If you want to prevent the end-user to drag column header into the GroupPanel, set GridViewTemplate.AllowDragToGroup to false. RadGridView.ShowGroupPanel shows/hides the group panel. You can access the group panel using RadGridView.GridElement.HeaderElement.GroupPanel property.