1、在Form中添加一个按钮和C1FlexGrid控件,并为按钮添加Click事件,添加以下逻辑
2、得到C1Flexgrid中选中的单元格区域C1.Win.C1FlexGrid.CellRange cr = this.c1FlexGrid1.Selection;
3、创建一个临时的C1Flexgrid对象var fg = new C1.Win.C1FlexGrid.C1FlexGrid()
4、根据选中单元格的范围,为临时的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;
5、给临时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; }
6、对临时C1Flexgrid进行排序fg.Sort(C1.Win.C1FlexGrid.SortFlags.Ascending, 0)
7、将临时C1Flexgrid中的值设置给原始的C1Flexgridfor (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; }