Skip to main content

GridUnboundColumnType Enum

Lists values that specify possible data types of unbound columns.

Namespace: DevExpress.Blazor

Assembly: DevExpress.Blazor.v21.2.dll

Declaration

public enum GridUnboundColumnType

Members

Name Description
Bound

The column is bound to a data field (FieldName). This field specifies the column data type.

Integer

The column contains Int32 values.

Decimal

The column contains Decimal values.

DateTime

The column contains DateTime values.

String

The column contains String values.

Boolean

The column contains Boolean values.

Object

The column contains Object values.

Related API Members

The following properties accept/return GridUnboundColumnType values:

Remarks

The following example illustrates how to create two unbound columns: “Discontinued” and “Total Price”. The UnboundType property specifies the data types of the unbound columns (Boolean and Decimal). To display the “Discontinued” column values as check boxes, use the DxCheckBox<T> component within the column’s cell template (CellDisplayTemplate). The UnboundColumnData event allows you to evaluate data for the unbound columns.

@using Microsoft.EntityFrameworkCore
@inject IDbContextFactory<NorthwindContext> NorthwindContextFactory
@implements IDisposable

<DxGrid Data="GridDataSource"
    UnboundColumnData="Grid_CustomUnboundColumnData">
    <Columns>
        <DxGridDataColumn FieldName="ProductId" Caption="Product ID" DisplayFormat="d" />
        <DxGridDataColumn FieldName="UnitPrice" />
        <DxGridDataColumn FieldName="Quantity" />
        <DxGridDataColumn FieldName="Discount" DisplayFormat="p0" />
        <DxGridDataColumn FieldName="Discontinued" UnboundType="GridUnboundColumnType.Boolean">
            <CellDisplayTemplate>
                <DxCheckBox CssClass="d-inline-block" Checked="@((bool)context.Value)" />
            </CellDisplayTemplate>
        </DxGridDataColumn>
        <DxGridDataColumn FieldName="TotalPrice"
                      DisplayFormat="c"
                      UnboundType="GridUnboundColumnType.Decimal" />
    </Columns>
</DxGrid>
@* ... *@
@code {
    object GridDataSource { get; set; }
    NorthwindContext Northwind { get; set; }

    protected override void OnInitialized() {
        Northwind = NorthwindContextFactory.CreateDbContext();
        GridDataSource = Northwind.OrderDetails
            .Include(i => i.Product)
            .ToList();
    }

    void Grid_CustomUnboundColumnData(GridUnboundColumnDataEventArgs e) {
        if(e.FieldName == "TotalPrice") {
            var unitPrice = Convert.ToDecimal(e.GetRowValue("UnitPrice"));
            var quantity = Convert.ToDecimal(e.GetRowValue("Quantity"));
            var discount = Convert.ToDecimal(e.GetRowValue("Discount"));
            e.Value = quantity * unitPrice * (1 - discount);
        }
        if(e.FieldName == "Discontinued") {
            e.Value = Convert.ToDecimal(e.GetRowValue("Discount")) == 0;
        }
    }

    public void Dispose() {
        Northwind?.Dispose();
    }
}

DevExpress Blazor Grid - Unbound Columns

Note

When you use a Server Mode data source, the Grid does not support unbound columns whose values are populated in the UnboundColumnData event handler. You can create unbound columns whose values are calculated based on the UnboundExpression.

When you use a GridDevExtremeDataSource, the Grid does not support any unbound columns.

See Also