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