2016-01-08 3 views
1

У меня есть DataGridView, который может иметь свои столбцы, переупорядоченные пользователем, что мне нужно получить, это текущий индекс индекса для каждого столбца, но итерация над ними до и после перемещения столбцов показывает тот же порядок поэтому индекс выглядит так, как будто индекс никогда не изменяется:DataGridView получить текущий индекс coloumn

for (int i = 0; i < dsgDataGrid.Columns.Count; i++) 
{ 
    MessageBox.Show(dsgDataGrid.Columns[i].Name); 
} 

Есть ли свойство, которое я могу использовать, который показывает текущий порядок столбца?

Спасибо.

ответ

2

Есть ли свойство, которое я могу использовать, который показывает текущий порядок столбца?

Конечно, есть - DataGridViewColumn.DisplayIndex

В отличие от собственности Index, свойство DisplayIndex соответствует текущему положению столбца, как показано с помощью пользовательского интерфейса (UI). По умолчанию DisplayIndex каждого столбца устанавливается на номера возрастающего порядка, который отражает порядок, в котором они были добавлены. Значение свойства Visible не влияет на значение DisplayIndex. Чтобы определить позицию отображения столбца в зависимости от его видимости или другого состояния, используйте метод GetFirstColumn, GetLastColumn или GetNextColumn класса DataGridViewColumnCollection.

Каждый столбец элемента управления имеет уникальное значение DisplayIndex. Значения начинаются с 0 и выполняются в числовом порядке без пропуска любых значений. Когда вы изменяете значение DisplayIndex для столбца, значения DisplayIndex для других столбцов изменяются для отражения нового порядка.

Смежные вопросы