Version

We recommend that you use the xamDataGrid control instead of the xamGrid control. The xamGrid is being planned for retirement over the next few years and will not receive any new features. We will continue to provide support and critical bug fixes for the xamGrid during this time. For help or questions on migrating your codebase to the xamDataGrid, please contact support.

Setting Fixed Columns Programmatically

Your end users can pin or unpin columns on xamGrid™ by either dragging the column to a drop location or using the indicator in the column’s header (depending on your settings, for more information see the Enable Fixed Columns topic).

However, you can also set programmatically fixed columns to be displayed to your end user.

There are two collections for fixed columns:

  • FixedColumnsLeft – This collection is for the fixed columns on the left-hand side of xamGrid

  • FixedColumnsRight – This collection is for the fixed columns on right hand-side of xamGrid

To fix columns, you simply add the required columns to the fixed columns collection. You can also unpin a column by removing it from the fixed columns collection.

The following code demonstrates how to achieve this.

In Visual Basic:

Imports Infragistics.Controls.Grids
...
'Add a column to the left-hand side fixed column collection
Dim DisplayAsFixedColumn As Column = Me.MyGrid.Columns.DataColumns("ProductName")
Me.MyGrid.FixedColumnSettings.FixedColumnsLeft.Add(DisplayAsFixedColumn)
'Remove a column from the left-hand side fixed column collection
Me.MyGrid.FixedColumnSettings.FixedColumnsLeft.Remove(DisplayAsFixedColumn)

In C#:

using Infragistics.Controls.Grids;
...
//Add a column to the left-hand side fixed column collection
Column DisplayAsFixedColumn = this.MyGrid.Columns.DataColumns["ProductName"];
this.MyGrid.FixedColumnSettings.FixedColumnsLeft.Add(DisplayAsFixedColumn);
//Remove a column from the left-hand side fixed column collection
this.MyGrid.FixedColumnSettings.FixedColumnsLeft.Remove(DisplayAsFixedColumn);

You can use the IsFixable property to set fixed columns. The IsFixable property of the Column object determines if the column is fixed.

The following code demonstrates how to fix a column using the IsFixable property.

In XAML:

<ig:TextColumn Key="ProductID" IsFixable="True"/>

In Visual Basic:

Imports Infragistics.Controls.Grids
...
Dim ColumnNotFixable As Column = Me.MyGrid.Columns.DataColumns("ProductID")
ColumnNotFixable.IsFixable = True

In C#:

using Infragistics.Controls.Grids;
...
Column ColumnNotFixable = this.MyGrid.Columns.DataColumns["ProductID"];
ColumnNotFixable.IsFixable = true;