DxGridDataColumn.UnboundType Property

Specifies the data type of the unbound column.

Namespace: DevExpress.Blazor

Assembly: DevExpress.Blazor.v21.1.dll

Declaration

[Parameter]
public GridUnboundColumnType UnboundType { get; set; }

Property Value

Type Description
GridUnboundColumnType

One of the GridUnboundColumnType enumeration values.

Available values:

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.

Remarks

The following example illustrates how to evaluate the total price for each product and display this value in the unbound “Total Price” column. Two ways to evaluate unbound column values are available:

  • The UnboundColumnData event.

    <DxGrid Data="GridDataSource"
        UnboundColumnData="Grid_CustomUnboundColumnData">
        <Columns>
            <DxGridDataColumn FieldName="ProductId" DisplayFormat="d" />
            <DxGridDataColumn FieldName="UnitPrice" />
            <DxGridDataColumn FieldName="Quantity" />
            <DxGridDataColumn FieldName="Discount" DisplayFormat="p0" />
            <DxGridDataColumn FieldName="Discontinued" UnboundType="GridUnboundColumnType.Boolean">
                <CellDisplayTemplate>
                    <DxCheckBox Checked="@((bool)context.Value)" />
                </CellDisplayTemplate>
            </DxGridDataColumn>
            <DxGridDataColumn FieldName="TotalPrice"
                          DisplayFormat="c"
                          UnboundType="GridUnboundColumnType.Decimal" />
        </Columns>
    </DxGrid>
    // ...
    @code {
    
        object GridDataSource { get; set; }
    
        protected override void OnInitialized()
        {
            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;
            }
        }
    }
    
  • The UnboundExpression property.

    <DxGrid Data="GridDataSource">
        <Columns>
            <DxGridDataColumn FieldName="Product.ProductName" Caption="Product Name" />
            <DxGridDataColumn FieldName="UnitPrice" DisplayFormat="c"  />
            <DxGridDataColumn FieldName="Quantity" DisplayFormat="d"  />
            <DxGridDataColumn FieldName="Discount" DisplayFormat="p0" />
            <DxGridDataColumn FieldName="TotalPrice"
                          DisplayFormat="c"
                          UnboundType="GridUnboundColumnType.Decimal"
                          UnboundExpression="UnitPrice * Quantity * (1 - Discount)" />
        </Columns>
    </DxGrid>
    
    @code {
    
        object GridDataSource { get; set; }
    
        protected override void OnInitialized()
        {
            GridDataSource = Northwind.OrderDetails
                .Include(i => i.Product)
                .ToList();
        }
        // ...
    }
    

DevExpress Blazor Grid - Unbound Columns

Implements

See Also