DxDropDownBox.DropDownBodyTemplate Property
Specifies a template for the drop-down window’s body.
Namespace: DevExpress.Blazor
Assembly: DevExpress.Blazor.v24.1.dll
NuGet Package: DevExpress.Blazor
Declaration
[EditorRequired]
[Parameter]
public RenderFragment<DropDownBoxTemplateContext> DropDownBodyTemplate { get; set; }
Property Value
Type | Description |
---|---|
RenderFragment<DropDownBoxTemplateContext> | The body template. |
Remarks
The drop-down window can include a header, body, and footer. Use the DropDownBodyTemplate
property to specify the content for the window’s body element.
DropDownBodyTemplate
has the context
parameter. You can use the parameter’s DropDownBox property to get information about the processed editor.
@inject NwindDataService NwindDataService
<DxDropDownBox @bind-Value="Value"
QueryDisplayText="QueryText"
CssClass="ddBox">
<DropDownHeaderTemplate>
<span class="oi oi-person" />
Select Employees:
</DropDownHeaderTemplate>
<DropDownBodyTemplate>
<DxListBox @ref="listBox"
Data="@ListBoxData" TData="Employee" TValue="Employee"
Values="@(GetListBoxValues(context.DropDownBox))"
TextFieldName="@nameof(Employee.Text)"
SelectionMode="ListBoxSelectionMode.Multiple"
ShowCheckboxes="true"
CssClass="templateListbox"/>
</DropDownBodyTemplate>
<DropDownFooterTemplate>
<DxButton Text="OK" CssClass="btn-margin"
Click="@(() => SetDropDownBoxValue(context.DropDownBox))" />
<DxButton Text="Cancel" RenderStyle="ButtonRenderStyle.Secondary"
Click="@(() => context.DropDownBox.HideDropDown())" />
</DropDownFooterTemplate>
</DxDropDownBox>
@code {
DxListBox<Employee, Employee> listBox;
IEnumerable<Employee> ListBoxData { get; set; }
object Value { get; set; }
string QueryText(DropDownBoxQueryDisplayTextContext arg) {
var names = (arg.Value as IEnumerable<Employee>)?.Select(x => x.LastName);
return names != null ? string.Join(",", names) : string.Empty;
}
IEnumerable<Employee> GetListBoxValues(IDropDownBox dropDownBox) {
return dropDownBox.Value as IEnumerable<Employee>;
}
void SetDropDownBoxValue(IDropDownBox dropDownBox) {
dropDownBox.BeginUpdate();
dropDownBox.Value = listBox.Values;
dropDownBox.HideDropDown();
dropDownBox.EndUpdate();
}
protected override async Task OnInitializedAsync() {
ListBoxData = await NwindDataService.GetEmployeesAsync();
Value = ListBoxData.Take(2);
}
}
Implements
See Also