Gets a collection of visible columns.

Namespace: Dapfor.Wpf.Controls
Assembly: Dapfor.Wpf (in Dapfor.Wpf.dll) Version: 4.1.0.26317 (4.1.0.26317)

Syntax

C#
public IList<Column> VisibleColumns { get; }
Visual Basic
Public ReadOnly Property VisibleColumns As IList(Of Column)
	Get
Visual C++
public:
property IList<Column^>^ VisibleColumns {
	IList<Column^>^ get ();
}
F#
member VisibleColumns : IList<Column> with get

Property Value

Type: IList<(Of <(<'Column>)>)>
Visible columns.

Remarks

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 GridControl.Headers.Add(Header header) method. When a header is added to GridControl.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 VisibleColumnsExample(GridControl 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"));
    grid.Headers.Add(header);

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

    header[1].Visible = false;
    Console.WriteLine("Columns count: {0}", header.Count);
    Console.WriteLine("Visible columns count: {0}", header.VisibleColumns.Count);

    //Move the last visible column to the beginning
    header.VisibleColumns[1].VisibleIndex = 0;

    //Iterate all visible columns
    foreach (Column column in header.VisibleColumns)
    {
        Console.WriteLine("Visible column: id = '{0}', index = {1}, visible index = {2}", column.Id, column.Index, column.VisibleIndex);
    }

    //Make all columns invisible 
    header.VisibleColumns.Clear();
    Console.WriteLine("Columns count: {0}", header.Count);
    Console.WriteLine("Visible columns count: {0}", header.VisibleColumns.Count);
}

//Console output:
Visible columns count: 3
Columns count: 3
Visible columns count: 2
Visible column: id = 'Column3', index = 2, visible index = 0
Visible column: id = 'Column1', index = 0, visible index = 1
Columns count: 3
Visible columns count: 0

See Also