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