blazor-devexpress-dot-blazor-dot-dxfilterbuilderfield-6a12c464.md
Allows you to replace an autogenerated value editor with custom content.
Namespace : DevExpress.Blazor
Assembly : DevExpress.Blazor.v25.2.dll
NuGet Package : DevExpress.Blazor
[DefaultValue(null)]
[Parameter]
public RenderFragment<FilterBuilderValueEditTemplateContext> ValueEditTemplate { get; set; }
| Type | Default | Description |
|---|---|---|
| RenderFragment<FilterBuilderValueEditTemplateContext> | null |
Template markup.
|
The DevExpress Blazor Filter Builder automatically generates and configures value editors for individual fields based on associated data types.
You can use the DxFilterBuilderField.EditSettings property for the following tasks:
If your customization tasks go beyond what’s possible with built-in API, use the ValueEditTemplate property. This property accepts a FilterBuilderValueEditTemplateContext object as the context parameter. You can use the parameter’s DisplayText and Value properties to obtain the field value and its display text.
You can also use the ValueDisplayTemplate property to specify custom content and change the appearance of value captions.
The following code snippet uses ValueEditTemplate properties to configure ComboBox editors:
<DxFilterBuilder @bind-FilterCriteria="FilterCriteria" SizeMode="Params.SizeMode">
<Fields>
@* ... *@
<DxFilterBuilderField FieldName="Creator" Caption="Owner" Type="@typeof(string)">
<ValueEditTemplate>
@{
var userFullName = (string)context.Value;
}
<DxComboBox TData="User" TValue="User"
Data="@UserList" AllowUserInput="true"
TextFieldName="@nameof(User.FullName)"
NullText="Type or select a value"
Text="@userFullName"
TextChanged="@((string v) => context.Value = v)"
TextExpression="@(() => userFullName)" />
</ValueEditTemplate>
@* ... *@
</DxFilterBuilderField>
<DxFilterBuilderField FieldName="Status" Caption="Status" Type="@typeof(IssueStatus)">
<ValueEditTemplate>
@{
var status = (IssueStatus?)context.Value;
}
<DxComboBox Data="@(Enum.GetValues(typeof(IssueStatus)).OfType<IssueStatus?>())"
Value="@(status)"
ValueChanged="@((IssueStatus? v) => context.Value = v)"
ValueExpression="@(() => status)"
NullText="Select a status"
Context="comboBoxContext">
<EditBoxDisplayTemplate>
<div class="d-flex align-items-center">
@if(comboBoxContext.DataItem != null) {
@DemoTemplateIconUtils.GetIssueStatusIconHtml((IssueStatus)comboBoxContext.DataItem)
}
<DxInputBox/>
</div>
</EditBoxDisplayTemplate>
<ItemDisplayTemplate>
<div class="d-flex align-items-center">
@DemoTemplateIconUtils.GetIssueStatusIconHtml((IssueStatus)comboBoxContext.Value)
@comboBoxContext.DisplayText
</div>
</ItemDisplayTemplate>
</DxComboBox>
</ValueEditTemplate>
@* ... *@
</DxFilterBuilderField>
@* ... *@
</Fields>
</DxFilterBuilder>
See Also