private void UpdateColumnIndex(C1BaseField column, int index) { var colIndices = ColumnIndices; var lastIndex = GetColumnIndex(column); var movedVal = colIndices[lastIndex]; colIndices.RemoveAt(lastIndex); colIndices.Insert(index, movedVal); ColumnIndices = colIndices; }
private int GetColumnIndex(C1BaseField column) { for (var i = 0; i < Grid.Columns.Count; i++) { if (Grid.Columns[i] == column) { return(i); } } return(-1); }
private void GroupColumn(C1BaseField column, int fromIndex, int destIndex, int groupedColumnsCount) { Subtotals = null; //if(column as C1Field != null) (column as C1Field).GroupInfo.OutlineMode = Page.GridOutlineMode; var newIndex = GetColumnIndex(column); if (groupedColumnsCount < Grid.GroupedColumns.Count) { newIndex = destIndex; var col = Grid.Columns[newIndex]; Grid.Columns[newIndex] = Grid.Columns[fromIndex]; for (var i = newIndex + 1; i <= fromIndex; i++) { var colAux = Grid.Columns[i]; Grid.Columns[i] = col; col = colAux; } } UpdateColumnIndex(fromIndex, newIndex); }