Skip to main content
All docs
V25.1
  • GridDocumentExportCustomizeColumnEventArgsBase.ColumnIndex Property

    Returns the column position in the exported document.

    Namespace: DevExpress.Blazor

    Assembly: DevExpress.Blazor.v25.1.dll

    NuGet Package: DevExpress.Blazor

    Declaration

    public int ColumnIndex { get; }

    Property Value

    Type Description
    Int32

    A zero-based column index.

    Remarks

    The CustomizeColumn event occurs for each data column whose ExportEnabled property is set to true (default).

    Use the ColumnIndex event argument to obtain the column position in the output table. When determining this index, the export engine counts only already exported columns (ignores columns whose IsHidden argument was set to true). As a result, the ColumnIndex reflects the actual position in the exported column collection.

    Grid Example

    The following example exports Grid data to PDF and customizes output table appearance:

    @rendermode InteractiveServer
    @using DevExpress.Drawing;
    @inject WeatherForecastService ForecastService
    
    <DxGrid @ref="Grid" Data="@forecasts">
        <Columns>
            <DxGridDataColumn Caption="Date" FieldName="Date" />
            <DxGridDataColumn Caption="Summary" FieldName="Summary" />
            <DxGridDataColumn Caption="Temperature (C)" FieldName="TemperatureC" />
            <DxGridDataColumn Caption="Temperature (F)" FieldName="TemperatureF" Visible="false" />
        </Columns>
        <ToolbarTemplate>
            <DxToolbar>
                <DxToolbarItem Text="Export to PDF" Click="ExportPdf_Click" BeginGroup="true" />
            </DxToolbar>
        </ToolbarTemplate>
    </DxGrid>
    
    @code {
        IGrid Grid;
        private WeatherForecast[]? forecasts;
    
        protected override async Task OnInitializedAsync() {
            forecasts = await ForecastService.GetForecastAsync(DateOnly.FromDateTime(DateTime.Now));
        }
        async Task ExportPdf_Click() {
            await Grid.ExportToPdfAsync("ExportResult", new GridPdfExportOptions() {
                FitToPage = false,
                CustomizeColumn = OnCustomizeColumn,
            });
        }
        void OnCustomizeColumn(GridDocumentExportCustomizeColumnEventArgs args) {
            args.Width = 400;
            args.IsHidden = false;
            if (args.ColumnIndex % 2 == 1)
                args.DataCellStyle.BackColor = System.Drawing.Color.LightGray;
            if (args.FieldName == "Date")
                args.DataCellStyle.Font = new DXFont(args.DataCellStyle.Font, DXFontStyle.Bold);
        }
    }
    

    Blazor Grid PDF export - Customize Columns

    TreeList Example

    The following example exports TreeList data to PDF and customizes output table appearance:

    @rendermode InteractiveServer
    @using DevExpress.Drawing
    @inject SpaceObjectDataProvider SpaceObjectDataProvider
    
    <DxTreeList @ref="TreeList" Data="TreeListData" ChildrenFieldName="Satellites">
        <Columns>
            <DxTreeListDataColumn FieldName="Name" />
            <DxTreeListDataColumn FieldName="TypeOfObject" Caption="Type" />
            <DxTreeListDataColumn FieldName="Mass10pow21kg" Caption="Mass, kg" DisplayFormat="N2" />
            <DxTreeListDataColumn FieldName="MeanRadiusInKM" Caption="Radius, km" DisplayFormat="N2" />
            <DxTreeListDataColumn FieldName="Volume10pow9KM3" Caption="Volume, km³" DisplayFormat="N2" Visible="false" />
            <DxTreeListDataColumn FieldName="SurfaceGravity" Caption="Gravity" DisplayFormat="N2" Visible="false" />
        </Columns>
        <ToolbarTemplate>
            <DxToolbar>
                <DxToolbarItem Text="Export to PDF" Click="ExportPdf_Click" BeginGroup="true" />
            </DxToolbar>
        </ToolbarTemplate>
    </DxTreeList>
    
    @code {
        ITreeList TreeList { get; set; }
        object TreeListData { get; set; }
        protected override async Task OnInitializedAsync() {
            TreeListData = SpaceObjectDataProvider.GenerateData();
        }
        async Task ExportPdf_Click() {
            await TreeList.ExportToPdfAsync("ExportResult", new TreeListPdfExportOptions() {
                FitToPage = false,
                CustomizeColumn = OnCustomizeColumn,
            });
        }
        void OnCustomizeColumn (TreeListDocumentExportCustomizeColumnEventArgs args) {
            args.Width = 300;
            args.IsHidden = false;
            if (args.ColumnIndex % 2 == 1)
                args.DataCellStyle.BackColor = System.Drawing.Color.LightGray;
            if (args.FieldName == "Name") {
                args.DataCellStyle.Font = new DXFont(args.DataCellStyle.Font, DXFontStyle.Bold);
                args.Width = 400;
            }
        }
    }
    

    Blazor TreeList PDF export - Customize Cells

    See Also