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;
 }
Beispiel #2
0
    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));
                }
            }
        }
    }
Beispiel #3
0
    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);
    }
Beispiel #4
0
    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();
                l.Text      = groupedColumn.FieldName + ": [" + groupedColumn.FieldName + "]";
                l.LocationF = new PointF(initialGroupOffset + i * 10, 0);
                l.BackColor = Color.Beige;
                l.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);
            }
        }
    }
Beispiel #5
0
    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);
    }