1、获取当前选择单元格范围:C1.Win.C1FlexGrid.CellRange cr = this.c1FlexGrid1.Selection;
2、创建临时C1FlexGrid用于排序。var fg = new C1.Win.C1FlexGrid.C1FlexGrid();
3、在临时C1FlexGrid中添加相同的行列数。fg.Cols.Count = cr.c2 - cr.c1 + 1;fg.Cols.Fixed = 0;fg.Rows.Count = cr.r2 - cr.r1 + 1;fg.Rows.Fixed = 0;
4、在临时C1flexGrid中添加选中单元格范围的值。for (int i = cr.r1; i <= cr.r2; i++){ for (int j = cr.c1; j <= 艘早祓胂cr.c2; j++) { fg[_row, _col] = this.c1FlexGrid1[ i , j ]; _col += 1; } _row += 1; _col = 0;}
5、排序当前C1FlexGrid.fg.Sort(C1.Win.C1FlexGrid.SortFlags.Ascending, 0);
6、把临时C1FlexGrid的排序结果存储进选中的单元格搏壶盥茜范围内。for (int i = cr.r1; i <= cr.r2; i++){ for (int j = cr.c1; j <= cr.c2; j++) { this.c1FlexGrid1[ i , j ] = fg[_row, _col]; _col += 1; } _row += 1; _col = 0;}以下为排序效果图:
