2016-07-11 2 views
0

У меня есть список имен столбцов в списке (строки), они соответствуют текущим столбцам. Headers, которые находятся в моем datagridview.Упорядочить столбцы на основе списка (строки)

Я хочу, чтобы столбцы отображались в том же порядке, что и они в списке (строки).

Например, у меня есть столбцы в этом порядке

1 | 2 | 3 | 4 | 5

Если я заказываю их в моем списке, чтобы появиться в этом порядке ...

3 | 2 | 1 | 4 | 5

Я хочу, чтобы колонки были расположены в том же порядке, у меня есть список.

Как это осуществить?

Я придумал это, но это, кажется, изменить его, а затем изменить его обратно ..

For l_index As Integer = 0 To visiblecolumns.Count - 1 
     Dim l_text As String = visiblecolumns(l_index) 'String for the current index 
     Dim num As Integer = dgvResults.Columns.[Single](Function(c) c.Header.ToString() = l_text).DisplayIndex 
     dgvResults.Columns(num).DisplayIndex = l_index 
    Next 

ответ

0

Я нашел решение

For l_index As Integer = 0 To visiblecolumns.Count - 1 
     Dim l_text As String = visiblecolumns(l_index) 'String for the current index 
     Dim num As Integer = dgvResults.Columns.ToList().FindIndex(Function(c) c.Header = l_text) 'index of the column, based on header name 
     dgvResults.Columns(num).DisplayIndex = l_index 'change displayindex of column based on list index 
    Next