C1 FlexGrid for WinForms指定区域数据进行排序

时间:2024-11-07 09:56:39

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; }

© 2025 手抄报圈
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com