Collection of non-scrollable columns in Header

Namespace: Dapfor.Net.Ui
Assembly: Dapfor.Net (in Dapfor.Net.dll) Version: (


public sealed class FixedColumnCollection : IEnumerable<Column>, 
Visual Basic
Public NotInheritable Class FixedColumnCollection
	Implements IEnumerable(Of Column), IEnumerable
Visual C++
public ref class FixedColumnCollection sealed : IEnumerable<Column^>, 
type FixedColumnCollection =  
        interface IEnumerable<Column>
        interface IEnumerable


A header is a collection of columns that enables displaying data in data grid's cells. A grid supports one or more headers. When a single header is used, the grid has TreeListView control behavior, just like the Microsoft Windows Explorer. Multiple headers enable separate column management for each hierarchical level. At a glance, every header consists of two panels: the grouping panel and the columns panel. These panels aren't related to each other. It means that the same column may be present in both panels simultaneously. Each column carries very important information about width, location, visibility, grouping and data sorting.

In programming, headers can be added to the grid by calling Grid.Headers.Add(Header header) method. When a header is added to Grid.Headers collection, a zero-based index is assigned to it in the hierarchy. When you call Header.Add(Column column) method, additional columns are added to a header. After that columns can be accessed with indexer operator. Every header has the following collections of columns:

The same column can be located in different lists. Almost each of the aforementioned lists has Clear() method, that has a specific action when invoked on a certain collection. Specifically, Header.GroupedColumns.Clear() removes data grouping in header of a grid. To group data you only have to set Column.Grouped property to true. If you set this property to true for multiple columns, it will result in multiple grouping and will fill corresponding collection in the data grid header. Such approach can be used in sorting (Column.SortDirection). The number of fixed columns is defined by Header.FixedColumns.Count.

 Copy imageCopy
public void FixedColumnsExample(Grid grid)
    //Add a new header on the top hierarchical level (level 0)
    Header header = new Header();
    header.Add(new Column("Column1"));
    header.Add(new Column("Column2"));
    header.Add(new Column("Column3"));

    Console.WriteLine("Fixed columns count: {0}", header.FixedColumns.Count);

    //Set the number of non-scrollable columns
    header.FixedColumns.Count = 2;

    foreach (Column column in header.FixedColumns)
        Console.WriteLine("Fixed column: id = '{0}'", column.Id);

    //All columns in the grid will be scrollable
    Console.WriteLine("Fixed columns count: {0}", header.FixedColumns.Count);
    Console.WriteLine("Columns count: {0}", header.Count);

//Console output:
Fixed columns count: 0
Fixed column: id = 'Column1'
Fixed column: id = 'Column2'
Fixed columns count: 0
Columns count: 3

Inheritance Hierarchy


Thread Safety

The class is not thread safe

See Also