DataGridViewColumn.DisplayIndex 属性

定义

相对于当前所显示各列,获取或设置列的显示顺序。

public:
 property int DisplayIndex { int get(); void set(int value); };
[System.ComponentModel.Browsable(false)]
public int DisplayIndex { get; set; }
[<System.ComponentModel.Browsable(false)>]
member this.DisplayIndex : int with get, set
Public Property DisplayIndex As Integer

属性值

从零开始的列位置(如同在关联 DataGridView 中的显示);如果带区未包含在控件内,则为 -1。

属性

例外

DataGridView 不为 null,且在设置此属性时,指定的值小于 0 或大于等于该控件中的列数。

- 或 -

DataGridViewnull,且在设置此属性时,指定的值小于 -1。

- 或 -

设置此属性时指定的值等于 Int32.MaxValue

示例

下面的代码示例使用 DisplayIndex 属性交换第一列和最后一列的视觉位置。 请注意,插入发生在 之前 DisplayIndex。 此代码示例是为 DataGridViewColumn 类提供的一个更大示例的一部分。

// 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 =
        columnCollection.GetFirstColumn(DataGridViewElementStates.Visible);
    DataGridViewColumn lastVisibleColumn =
        columnCollection.GetLastColumn(
            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 = _
        dataGridView.Columns

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

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

注解

Index与 属性不同, DisplayIndex 属性对应于用户界面 (UI) 显示的列的当前位置。 默认情况下,每个列的 DisplayIndex 设置为递增顺序数,这反映了它们的添加顺序。 属性值 Visible 不会影响 DisplayIndex 值。 若要根据列的可见性或其他状态确定列的显示位置,请使用 类的 GetFirstColumnDataGridViewColumnCollectionGetLastColumnGetNextColumn 方法。

控件中的每个列都有唯 DisplayIndex 一值。 值从 0 开始,并按数字顺序继续,不跳过任何值。 更改 DisplayIndex 列的值时, DisplayIndex 其他列的值将更改以反映新顺序。

如果该列具有关联的 DataGridView 控件,则设置此属性将导致该控件重新绘制自身。

适用于

另请参阅