Как получить список заголовков столбцов для списка на основе displayindex? - PullRequest
5 голосов
/ 08 декабря 2008

Если для столбца AllowReorder представления списка задано значение true, как получить список строк текстов заголовков столбцов на основе их displayindex во время выполнения? listview.Columns возвращает только столбцы в исходном порядке.

1 Ответ

5 голосов
/ 08 декабря 2008

C # 2.0? Или C # 3.0? Ответ LINQ (C # 3.0 с .NET 3.5 или .NET 2.0 / 3.0 с LINQBridge ) намного проще; -p

т.е.

    var names = (from col in listView.Columns.Cast<ColumnHeader>()
                 orderby col.DisplayIndex
                 select col.Text).ToList();

против

        List<ColumnHeader> cols = new List<ColumnHeader>();
        // populate
        foreach (ColumnHeader column in listView.Columns) {
            cols.Add(column);
        }
        // sort
        cols.Sort(delegate(ColumnHeader x, ColumnHeader y) {
            return x.DisplayIndex.CompareTo(y.DisplayIndex);
        });
        // project
        List<string> names = cols.ConvertAll<string>(delegate(ColumnHeader x) {
            return x.Text;
        });

В любом случае это дает List<string> текстовых значений заголовка столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...