バージョン

xamGrid コントロールの代わりに xamDataGrid コントロールを使用してください。xamGrid は数年以内に廃止する予定のため、新しい機能の追加はありません。xamGrid のサポートおよび重要なバグ修正は廃止時まで提供されます。コードベースの xamDataGrid への移動に関する質問は、サポートまでお問い合わせください。

プログラムによる固定列の設定

エンドユーザーは、列をドロップ位置にドラッグする、または列のヘッダーにあるインジケーターを使用することによって、xamGrid で列を固定または固定を解除することができます (設定に基づいて異なります。詳細は 固定列を有効にするトピックを参照してください)。ただし、固定された列がエンド ユーザーに表示されるように設定することもできます。

固定列には 2 つのコレクションがあります。

  • FixedColumnsLeft - このコレクションは xamGrid の左側にある固定列を対象としています。

  • FixedColumnsRight - このコレクションは xamGrid の右側にある固定列を対象としています。

列を固定するには、必要な列を固定列コレクションに追加するだけです。固定列コレクションから列を削除することによって、列の固定を解除することもできます。

次のコードは、これを実現する方法を示しています。

Visual Basic の場合:

Imports Infragistics.Controls.Grids
...
'列を左側の固定列コレクションに追加します
Dim DisplayAsFixedColumn As Column = Me.MyGrid.Columns.DataColumns("ProductName")
Me.MyGrid.FixedColumnSettings.FixedColumnsLeft.Add(DisplayAsFixedColumn)
'列を左側の固定列コレクションから削除します
Me.MyGrid.FixedColumnSettings.FixedColumnsLeft.Remove(DisplayAsFixedColumn)

C# の場合:

using Infragistics.Controls.Grids;
...
//列を左側の固定列コレクションに追加します
Column DisplayAsFixedColumn = this.MyGrid.Columns.DataColumns["ProductName"];
this.MyGrid.FixedColumnSettings.FixedColumnsLeft.Add(DisplayAsFixedColumn);
//列を左側の固定列コレクションから削除します
this.MyGrid.FixedColumnSettings.FixedColumnsLeft.Remove(DisplayAsFixedColumn);

IsFixable プロパティを使用して固定列を設定できます。 Column オブジェクトの IsFixable プロパティは、列が固定されるかどうかを決定します。

以下のコードは、IsFixable プロパティを使用して列を固定する方法を示します。

XAML の場合:

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

Visual Basic の場合:

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

C# の場合:

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