【问题标题】:DataGridView get actual orderDataGridView 获取实际订单
【发布时间】:2009-07-16 18:38:35
【问题描述】:

您好,我有一个具有此设置的 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;
        }

我的问题是结果(列的顺序)总是相同的(如果我在我的 gui 中移动列)

【问题讨论】:

    标签: c# winforms datagridview


    【解决方案1】:

    您需要查看您的专栏的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);
            }
    

    【讨论】:

      猜你喜欢
      • 2013-01-29
      • 2018-03-16
      • 1970-01-01
      • 1970-01-01
      • 2012-10-20
      • 2019-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多