我通过编程在dataGridView中新增了一项,此时该项位于dataGridView列表的最后一列。。
开始我的dataGridView是按名称(name)进行排序的,而我新增的一项又位于最后一项,我如何通过编程的方式,让数据行一添加完就自动进行一次排序?
即如何通过编程的方式让dataGridView按某列进行排序?(传统的排序是通过点击列首项实现)

解决方案 »

  1.   

    之前刚好做过, 给你点IDEAxxxxxx{
    class MyRowComparer : System.Collections.IComparer 

          public int Compare(object x, object y) 
                { 
                    DataGridViewRow a = (DataGridViewRow)x; 
                    DataGridViewRow b = (DataGridViewRow)y; 
     
                    int result; 
                    result = a.Cells[1].Value.ToString().CompareTo(b.Cells[1].Value.ToString()); 
                    if (result != 0) 
                        return result;
     
                    return a.Cells[0].Value.ToString().CompareTo(b.Cells[0].Value.ToString()); 
                } 
     } dgv.Sort(new MyRowComparer()); 
    }
      

  2.   


    dataGridView.Columns["列名"].SortMode = DataGridViewColumnSortMode.Programmatic;
    ListSortDirection ldDirection = ListSortDirection.Ascending;//按照升序排列
    dataGridView.Sort(dataGridView.Columns["列名"], ldDirection);这样就可以了,高效~~
      

  3.   

    嗯。。谢谢了。。
    刚看了2楼的,看了半天没看懂。。不过还是谢谢了。。
    我在msdn里找到答案了。。哈哈。。找了半天。。发贴的时候看到LS的回复了,就是这个。。呵呵。。结贴
      

  4.   

    我看错你的问题了...
    我那个是同时SORT dgv  2个或者以上Columns的排序法..
    希望你以后可以用到