DataGridViewColumn.DisplayIndex 属性

定义

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

C#
[System.ComponentModel.Browsable(false)]
public int DisplayIndex { get; set; }

属性值

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

属性

例外

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

- 或 -

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

- 或 -

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

示例

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

C#
// 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;
}

注解

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

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

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

适用于

产品 版本
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

另请参阅