DataGridViewColumn.DisplayIndex プロパティ


現在表示されている列を基準とした列の表示順序を設定または取得します。Gets or sets the display order of the column relative to the currently displayed columns.

 property int DisplayIndex { int get(); void set(int value); };
public int DisplayIndex { get; set; }
member this.DisplayIndex : int with get, set
Public Property DisplayIndex As Integer


関連付けられた DataGridView に列が表示されるときの 0 から始まる位置。バンドがコントロール内に含まれていない場合は -1。The zero-based position of the column as it is displayed in the associated DataGridView, or -1 if the band is not contained within a control.



DataGridViewnull でなく、このプロパティの設定時に指定された値が 0 未満またはコントロール内に含まれている列数以上です。DataGridView is not null and the specified value when setting this property is less than 0 or greater than or equal to the number of columns in the control.

- または --or- DataGridViewnull で、このプロパティの設定時に指定された値が -1 未満です。DataGridView is null and the specified value when setting this property is less than -1.

- または --or- このプロパティの設定時に指定された値が、MaxValue と同じ値です。The specified value when setting this property is equal to MaxValue.

次のコード例ではDisplayIndex 、プロパティを使用して、最初と最後の列の視覚的な位置を入れ替えています。The following code example uses the DisplayIndex property to swap the visual position of the first and last columns. DisplayIndex前に挿入が行われることに注意してください。Note that insertions occur before the DisplayIndex. このコード例は、 DataGridViewColumnクラスに対して提供される大規模な例の一部です。This code example is part of a larger example provided for the DataGridViewColumn class.

// Swap the last column with the first.
void Button10_Click( Object^ /*sender*/, EventArgs^ /*args*/ )
   DataGridViewColumnCollection^ columnCollection = dataGridView->Columns;
   DataGridViewColumn^ firstDisplayedColumn = columnCollection->GetFirstColumn( DataGridViewElementStates::Visible );
   DataGridViewColumn^ lastDisplayedColumn = columnCollection->GetLastColumn( DataGridViewElementStates::Visible, DataGridViewElementStates::None );
   int firstColumn_sIndex = firstDisplayedColumn->DisplayIndex;
   firstDisplayedColumn->DisplayIndex = lastDisplayedColumn->DisplayIndex;
   lastDisplayedColumn->DisplayIndex = firstColumn_sIndex;

// Swap the last column with the first.
private void Button10_Click(object sender, EventArgs args)
    DataGridViewColumnCollection columnCollection = dataGridView.Columns;

    DataGridViewColumn firstVisibleColumn =
    DataGridViewColumn lastVisibleColumn =
            DataGridViewElementStates.Visible, DataGridViewElementStates.None);

    int firstColumn_sIndex = firstVisibleColumn.DisplayIndex;
    firstVisibleColumn.DisplayIndex = lastVisibleColumn.DisplayIndex;
    lastVisibleColumn.DisplayIndex = firstColumn_sIndex;
' Swap the last column with the first.
Private Sub Button10_Click(ByVal sender As Object, _
    ByVal args As EventArgs) Handles Button10.Click

    Dim columnCollection As DataGridViewColumnCollection = _

    Dim firstVisibleColumn As DataGridViewColumn = _
    Dim lastVisibleColumn As DataGridViewColumn = _
        columnCollection.GetLastColumn(DataGridViewElementStates.Visible, _

    Dim firstColumn_sIndex As Integer = firstVisibleColumn.DisplayIndex
    firstVisibleColumn.DisplayIndex = _
    lastVisibleColumn.DisplayIndex = firstColumn_sIndex
End Sub


プロパティとは異なり、 DisplayIndexプロパティは、ユーザーインターフェイス (UI) によって表示される列の現在の位置に対応します。 IndexUnlike the Index property, the DisplayIndex property corresponds to the current position of the column as displayed by the user interface (UI). 既定では、各列DisplayIndexの値は、追加された順序を反映した昇順に設定されます。By default, each column's DisplayIndex is set to numbers of increasing order, which reflects the order in which they were added. プロパティ値は、 DisplayIndex値には影響しません。 VisibleThe Visible property value does not affect the DisplayIndex value. 可視性またはその他の状態に基づいて列の表示位置を決定するGetFirstColumnGetLastColumnは、 GetNextColumn DataGridViewColumnCollectionクラスの、、またはメソッドを使用します。To determine the display position of a column based on its visibility or other state, use the GetFirstColumn, GetLastColumn, or GetNextColumn method of the DataGridViewColumnCollection class.

コントロールのすべての列には一意DisplayIndexの値があります。Every column in the control has a unique DisplayIndex value. 値は0から始まり、値をスキップせずに数値順に進みます。The values start with 0 and proceed in numerical order without skipping any values. DisplayIndexDisplayIndexの値を変更すると、他の列の値が新しい順序を反映するように変更されます。When you change the DisplayIndex value for a column, the DisplayIndex values for other columns are changed to reflect the new order.

列に関連付けられDataGridViewたコントロールがある場合は、このプロパティを設定すると、コントロール自体が再描画されます。If the column has an associated DataGridView control, setting this property will cause the control to redraw itself.