- 爱易网页
 
                        - 
                            C#教程
 
                        - datagridview多列排序,该如何解决 
 
                         
                    
                    
                    日期:2014-05-18  浏览次数:21203 次 
                    
                        
                         datagridview多列排序
msdn里有这么一段代码用来多列排序: 
 private   void   Button1_Click(   object   sender,   EventArgs   e   ) 
 { 
             if   (   RadioButton1.Checked   ==   true   ) 
             { 
                         DataGridView1.Sort(   new   RowComparer(   SortOrder.Ascending   )   ); 
             } 
             else   if   (   RadioButton2.Checked   ==   true   ) 
             { 
                         DataGridView1.Sort(   new   RowComparer(   SortOrder.Descending   )   ); 
             } 
 } 
  
 private   class   RowComparer   :   System.Collections.IComparer 
 { 
             private   static   int   sortOrderModifier   =   1; 
  
             public   RowComparer(SortOrder   sortOrder) 
             { 
                         if   (sortOrder   ==   SortOrder.Descending) 
                         { 
                                     sortOrderModifier   =   -1; 
                         } 
                         else   if   (sortOrder   ==   SortOrder.Ascending) 
                         { 
                                     sortOrderModifier   =   1; 
                         } 
             } 
  
             public   int   Compare(object   x,   object   y) 
             { 
                         DataGridViewRow   DataGridViewRow1   =   (DataGridViewRow)x; 
                         DataGridViewRow   DataGridViewRow2   =   (DataGridViewRow)y; 
  
                         //   Try   to   sort   based   on   the   Last   Name   column. 
                         int   CompareResult   =   System.String.Compare( 
                                     DataGridViewRow1.Cells[1].Value.ToString(), 
                                     DataGridViewRow2.Cells[1].Value.ToString()); 
  
                         //   If   the   Last   Names   are   equal,   sort   based   on   the   First   Name. 
                         if   (   CompareResult   ==   0   ) 
                         { 
                                     CompareResult   =   System.String.Compare( 
                                                 DataGridViewRow1.Cells[0].Value.ToString(),