void InitGroupHeaders(MVCxGridViewState gridViewState) { GridViewDataColumnStateCollection groupedColumns = gridViewState.GroupedColumns; for (int i = groupedColumns.Count - 1; i >= 0; i--) { { GridViewDataColumnState groupedColumn = groupedColumns[i]; GroupHeaderBand gb = new GroupHeaderBand(); gb.Height = bandHeight; XRLabel l = new XRLabel { Text = groupedColumn.FieldName + ": [" + groupedColumn.FieldName + "]", LocationF = new PointF(initialGroupOffset + i * 10, 0), BackColor = Color.Beige, SizeF = new SizeF((report.PageWidth - (report.Margins.Left + report.Margins.Right)) - (initialGroupOffset + i * subGroupOffset), bandHeight) }; gb.Controls.Add(l); gb.RepeatEveryPage = shouldRepeatGroupHeadersOnEveryPage; GroupField gf = new GroupField(groupedColumn.FieldName, groupedColumn.SortOrder == ColumnSortOrder.Ascending ? XRColumnSortOrder.Ascending : XRColumnSortOrder.Descending); gb.GroupFields.Add(gf); report.Bands.Add(gb); } } }
public MVCxGridViewState(MVCxGridView gridView) { Columns = new GridViewDataColumnStateCollection(gridView.VisibleColumns); GroupedColumns = new GridViewDataColumnStateCollection(gridView.GetGroupedColumns()); TotalSummary = new System.Collections.ObjectModel.Collection <MVCxSummaryItemState>(); foreach (ASPxSummaryItem item in gridView.TotalSummary) { TotalSummary.Add(new MVCxSummaryItemState(item)); } FilterExpression = gridView.FilterExpression; }
void InitSortings(MVCxGridViewState gridViewState) { GridViewDataColumnStateCollection columns = gridViewState.Columns; GridViewDataColumnStateCollection groupedColumns = gridViewState.GroupedColumns; for (int i = 0; i < columns.Count; i++) { if (!groupedColumns.Contains(columns[i])) { if (columns[i].SortOrder != ColumnSortOrder.None) { ((DetailBand)report.Bands[BandKind.Detail]).SortFields.Add(new GroupField(columns[i].FieldName, columns[i].SortOrder == ColumnSortOrder.Ascending ? XRColumnSortOrder.Ascending : XRColumnSortOrder.Descending)); } } } }
private List <MVCxColumnInfo> GetColumnsInfo(MVCxGridViewState gridViewState, int pagewidth) { List <MVCxColumnInfo> columns = new List <MVCxColumnInfo>(); GridViewDataColumnStateCollection visibleColumns = gridViewState.Columns; foreach (GridViewDataColumnState dataColumn in visibleColumns) { MVCxColumnInfo column = new MVCxColumnInfo(dataColumn) { ColumnCaption = string.IsNullOrEmpty(dataColumn.Caption) ? dataColumn.FieldName : dataColumn.Caption, ColumnWidth = ((int)pagewidth / visibleColumns.Count), FieldName = dataColumn.FieldName, IsVisible = true }; columns.Add(column); } return(columns); }
void InitDetailsAndPageHeader(MVCxGridViewState gridViewState) { GridViewDataColumnStateCollection groupedColumns = gridViewState.GroupedColumns; int pagewidth = (report.PageWidth - (report.Margins.Left + report.Margins.Right)) - groupedColumns.Count * subGroupOffset; List <MVCxColumnInfo> columns = GetColumnsInfo(gridViewState, pagewidth); CustomizeColumnsCollection(report, new ColumnsCreationEventArgs(pagewidth) { ColumnsInfo = columns }); report.Bands.Add(new DetailBand() { HeightF = bandHeight }); report.Bands.Add(new PageHeaderBand() { HeightF = bandHeight }); XRTable headerTable = new XRTable(); XRTableRow row = new XRTableRow(); XRTable detailTable = new XRTable(); XRTableRow row2 = new XRTableRow(); for (int i = 0; i < columns.Count; i++) { if (columns[i].IsVisible) { XRTableCell cell = new XRTableCell(); cell.Width = columns[i].ColumnWidth; cell.Text = columns[i].FieldName; row.Cells.Add(cell); XRTableCell cell2 = new XRTableCell(); cell2.Width = columns[i].ColumnWidth; ControlCustomizationEventArgs cc = new ControlCustomizationEventArgs() { FieldName = columns[i].FieldName, IsModified = false, Owner = cell2 }; CustomizeColumn(report, cc); if (cc.IsModified == false) { cell2.DataBindings.Add("Text", null, columns[i].FieldName); } detailsInfo.Add(columns[i].GridViewColumn, cell2); row2.Cells.Add(cell2); } } headerTable.Rows.Add(row); headerTable.Width = pagewidth; headerTable.LocationF = new PointF(groupedColumns.Count * subGroupOffset, 0); headerTable.Borders = BorderSide.Bottom; detailTable.Rows.Add(row2); detailTable.LocationF = new PointF(groupedColumns.Count * subGroupOffset, 0); detailTable.Width = pagewidth; report.Bands[BandKind.PageHeader].Controls.Add(headerTable); report.Bands[BandKind.Detail].Controls.Add(detailTable); }