GridUnboundColumnType Enum
Lists values that specify possible data types of unbound columns.
Namespace: DevExpress.Blazor
Assembly: DevExpress.Blazor.v21.2.dll
NuGet Package: DevExpress.Blazor
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();
}
}
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.