DxGridDataColumn.UnboundType Property
Specifies the data type of the unbound column.
Namespace: DevExpress.Blazor
Assembly: DevExpress.Blazor.v21.1.dll
NuGet Package: DevExpress.Blazor
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(); } @* ... *@ }
Note
The Grid does not support unbound columns when you use a GridDevExtremeDataSource.