DataGridView получить фактический заказ - PullRequest
1 голос
/ 16 июля 2009

HI, у меня есть DataGridView с этим параметром: d

dataGridView1.AllowUserToOrderColumns = true;

(чтобы пользователи могли изменять порядок столбцов)

Моя проблема в том, что я хочу знать текущий порядок столбцов. Я сделал этот метонд:

public List<int> getActualTaskOrder() {
            List<int> ris = new List<int>();
            int i=1;  
            while(i<this.dataGridView1.Columns.Count){
                DataGridViewColumn c= this.dataGridView1.Columns[i];

                if (c.Name != "**")
                {
                    Console.WriteLine(c.HeaderText);

                    ris.Insert(c.Index-1, System.Convert.ToInt32(c.Tag));
                }
                i++;
            }
            return ris;
        }

Моя проблема в том, что результат (порядок столбцов) всегда одинаков (даже если я перемещаю столбцы в моем графическом интерфейсе)

1 Ответ

1 голос
/ 16 июля 2009

Вам нужно посмотреть на DisplayIndex ваших столбцов; возможно что-то вроде:

        var qry = from DataGridViewColumn col in grid.Columns
                  where col.Name != "**"
                  orderby col.DisplayIndex
                  select col.HeaderText;
        foreach (string txt in qry) {
            Console.WriteLine(txt);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...