Skip to main content
All docs
V26.1
  • DxTreeListDataColumn.UnboundType Property

    Indicates that the column is unbound and specifies an associated data type.

    Namespace: DevExpress.Blazor

    Assembly: DevExpress.Blazor.Grid.v26.1.dll

    Declaration

    [DefaultValue(TreeListUnboundColumnType.Bound)]
    [Parameter]
    public TreeListUnboundColumnType UnboundType { get; set; }

    Property Value

    Type Default Description
    TreeListUnboundColumnType Bound

    An enumeration value.

    Available values:

    Name Description
    Bound

    The column is bound to a data field. 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

    Unbound columns display values that are not stored in the assigned data collection. To create an unbound column, declare a DxTreeListDataColumn object in the Columns template and specify the following properties:

    UnboundType
    Indicates that the column is unbound and specifies its data type.
    FieldName
    Specifies a unique name that does not match field names in the bound data source.

    Note

    The TreeList does not support unbound columns when bound to a GridDevExtremeDataSource.

    You can use one of the following APIs to populate unbound columns with data:

    UnboundExpression
    Specifies an expression used to calculate column values. An expression should use our Criteria Language Syntax and include field names, constants, operators, or functions. Unbound expression samples:
    • "[Quantity] * [UnitPrice] * (1 - [BonusAmount])"
    • "[FirstName] + ' ' + [LastName]"
    • "[Country] == 'USA'"
    • "[OrderDate] > #8/16/1994# AND [Quantity] > 20"
    UnboundColumnData
    Allows you to implement custom logic or obtain column values from a custom/external data source.

    Example

    The following code snippet creates two unbound columns:

    @inject ISalesByRegionDataProvider SalesByRegionDataProvider
    
    <DxTreeList Data="TreeListData"
                KeyFieldName="ID"
                ParentKeyFieldName="RegionID"
                ShowAllRows="true"
                ColumnResizeMode="TreeListColumnResizeMode.NextColumn"
                TextWrapEnabled="false"
                SizeMode="Params.SizeMode"
                CssClass="max-h-480"
                UnboundColumnData="TreeList_UnboundColumnData">
        <Columns>
            <DxTreeListDataColumn FieldName="Region" />
            <DxTreeListDataColumn FieldName="AprilSales" DisplayFormat="c0" />
            <DxTreeListDataColumn FieldName="MaySales" DisplayFormat="c0" />
            <DxTreeListDataColumn FieldName="JuneSales" DisplayFormat="c0" />
            <DxTreeListDataColumn FieldName="Q2Sales"
                                  Caption="Q2 Sales"
                                  DisplayFormat="c0"
                                  UnboundType="TreeListUnboundColumnType.Decimal"
                                  UnboundExpression="[AprilSales] + [MaySales] + [JuneSales]" />
            <DxTreeListDataColumn FieldName="Q2YoYChange"
                                  Caption="Q2 YoY Change (%)"
                                  DisplayFormat="p0"
                                  UnboundType="TreeListUnboundColumnType.Decimal" />
        </Columns>
    </DxTreeList>
    
    @code {
        object TreeListData { get; set; }
    
        protected override void OnInitialized() {
            TreeListData = SalesByRegionDataProvider.GenerateData();
        }
    
        void TreeList_UnboundColumnData(TreeListUnboundColumnDataEventArgs e) {
            if(e.FieldName == "Q2YoYChange") {
                var sales = ((SalesByRegion) e.DataItem);
                var currentValue = (decimal)e.GetRowValue("Q2Sales");
                var prevValue = sales.MonthlySalesPrev[3] + sales.MonthlySalesPrev[4] + sales.MonthlySalesPrev[5];
                e.Value = (currentValue - prevValue) / currentValue;
            }
        }
    }
    

    DevExpress Blazor TreeList - Unbound Columns

    Run Demo: Unbound Columns

    Implements

    See Also