A dropdown component that displays items in a DataGrid within the popup instead of a simple list. RadzenDropDownDataGrid combines dropdown selection with grid features like multiple columns, sorting, filtering, and paging. Ideal when dropdown items have multiple properties you want to display in columns. Instead of showing just one property per item, the grid popup can display multiple columns. Perfect for scenarios like selecting products with columns for Name/SKU/Price/Stock, choosing employees with Name/Department/Email columns, or picking customers with Company/Contact/Location columns. Features full DataGrid with columns/sorting/filtering in the dropdown popup, column definition using RadzenDropDownDataGridColumn, built-in column filtering in the grid, multiple selection with checkboxes, optional paging for large datasets, and custom column templates for rich item display. Define columns as child components to specify what data to show in the grid popup.
DropDownBase<TValue>.SelectAll
DropDownBase<TValue>.OnParametersSet
DropDownBase<TValue>.GetItemOrValueFromProperty
DropDownBase<TValue>.OpenPopupScript
DropDownBase<TValue>.OpenPopupScriptFromParent
DropDownBase<TValue>.OnFilterKeyPress
DropDownBase<TValue>.OnKeyPress
DropDownBase<TValue>.OnSelectItem
DropDownBase<TValue>.OnInitialized
DropDownBase<TValue>.OnParametersSetAsync
DropDownBase<TValue>.SelectItem
DropDownBase<TValue>.OnSelectAllKeyDown
DropDownBase<TValue>.VirtualizationOverscanCount
DropDownBase<TValue>.Virtualize
DropDownBase<TValue>.AllowVirtualization
DropDownBase<TValue>.HeaderTemplate
DropDownBase<TValue>.FilterAsYouType
DropDownBase<TValue>.AllowClear
DropDownBase<TValue>.ResetSelectedIndexOnFilter
DropDownBase<TValue>.AllowSelectAll
DropDownBase<TValue>.ValueProperty
DropDownBase<TValue>.DisabledProperty
DropDownBase<TValue>.RemoveChipTitle
DropDownBase<TValue>.ClearAriaLabel
DropDownBase<TValue>.SearchAriaLabel
DropDownBase<TValue>.EmptyAriaLabel
DropDownBase<TValue>.SelectedItemChanged
DropDownBase<TValue>.FilterDelay
DropDownBase<TValue>.SelectedItem
DropDownBase<TValue>.Separator
DropDownBase<TValue>.ItemComparer
DropDownBase<TValue>.selectedItems
DropDownBase<TValue>.selectedItem
DropDownBase<TValue>.selectedIndex
DropDownBase<TValue>.isPopupOpen
DropDownBase<TValue>.PreserveCollectionOnSelection
DataBoundFormComponent<TValue>.GetClassList
DataBoundFormComponent<TValue>.FocusAsync
DataBoundFormComponent<TValue>.OnContextMenu
DataBoundFormComponent<TValue>.TabIndex
DataBoundFormComponent<TValue>.FilterCaseSensitivity
DataBoundFormComponent<TValue>.FilterOperator
DataBoundFormComponent<TValue>.Name
DataBoundFormComponent<TValue>.Placeholder
DataBoundFormComponent<TValue>.Disabled
DataBoundFormComponent<TValue>.Change
DataBoundFormComponent<TValue>.LoadData
DataBoundFormComponent<TValue>.Form
DataBoundFormComponent<TValue>.Value
DataBoundFormComponent<TValue>.ValueChanged
DataBoundFormComponent<TValue>.IsBound
DataBoundFormComponent<TValue>.TextProperty
DataBoundFormComponent<TValue>.Query
DataBoundFormComponent<TValue>.SearchText
DataBoundFormComponent<TValue>.SearchTextChanged
DataBoundFormComponent<TValue>.EditContext
DataBoundFormComponent<TValue>.FieldIdentifier
DataBoundFormComponent<TValue>.ValueExpression
DataBoundFormComponent<TValue>.FormFieldContext
DataBoundFormComponent<TValue>.CurrentPlaceholder
DataBoundFormComponent<TValue>._view
RadzenComponent.RaiseContextMenu
RadzenComponent.RaiseMouseEnter
RadzenComponent.AddContextMenu
RadzenComponent.RaiseMouseLeave
RadzenComponent.OnBecameInvisible
RadzenComponent.DefaultCulture
RadzenComponent.IsJSRuntimeAvailable
ComponentBase.OnInitializedAsync
ComponentBase.StateHasChanged
ComponentBase.ShouldRender
ComponentBase.OnAfterRender
ComponentBase.InvokeAsync
ComponentBase.DispatchExceptionAsync
ComponentBase.RendererInfo
ComponentBase.Assets
ComponentBase.AssignedRenderMode
Namespace: Radzen.Blazor
Assembly: Radzen.Blazor.dll
public class RadzenDropDownDataGrid<TValue> : DropDownBase<TValue>, IComponent, IHandleEvent, IHandleAfterRender, IRadzenFormComponent| Name | Description |
|---|---|
| TValue | The type of the selected value. Can be a single value or IEnumerable for multiple selection. |
Basic dropdown with grid:
<RadzenDropDownDataGrid @bind-Value=@selectedCustomerId TValue="int"
Data=@customers ValueProperty="CustomerId">
<Columns>
<RadzenDropDownDataGridColumn Property="CompanyName" Title="Company" />
<RadzenDropDownDataGridColumn Property="ContactName" Title="Contact" />
<RadzenDropDownDataGridColumn Property="City" Title="City" />
</Columns>
</RadzenDropDownDataGrid>
Multiple selection with filtering:
<RadzenDropDownDataGrid @bind-Value=@selectedIds TValue="IEnumerable<int>"
Multiple="true" AllowFiltering="true" Data=@products>
<Columns>
<RadzenDropDownDataGridColumn Property="Name" Title="Product" />
<RadzenDropDownDataGridColumn Property="Price" Title="Price" FormatString="{0:C}" />
</Columns>
</RadzenDropDownDataGrid>A dropdown component that displays items in a DataGrid within the popup instead of a simple list. RadzenDropDownDataGrid combines dropdown selection with grid features like multiple columns, sorting, filtering, and paging. Ideal when dropdown items have multiple properties you want to display in columns. Instead of showing just one property per item, the grid popup can display multiple columns. Perfect for scenarios like selecting products with columns for Name/SKU/Price/Stock, choosing employees with Name/Department/Email columns, or picking customers with Company/Contact/Location columns. Features full DataGrid with columns/sorting/filtering in the dropdown popup, column definition using RadzenDropDownDataGridColumn, built-in column filtering in the grid, multiple selection with checkboxes, optional paging for large datasets, and custom column templates for rich item display. Define columns as child components to specify what data to show in the grid popup.
public RadzenDropDownDataGrid<TValue>()Gets or sets the action to be executed when the Add button is clicked.
public EventCallback<MouseEventArgs> Add { get; set; }
| Type | Description |
|---|---|
| EventCallback<MouseEventArgs> | Gets or sets the action to be executed when the Add button is clicked. |
Gets or sets the add button aria-label attribute.
public string AddAriaLabel { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the add button aria-label attribute. |
Gets or sets a value indicating whether column picking is allowed.
public bool AllowColumnPicking { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether column picking is allowed. |
Gets or sets a value indicating whether column reorder is allowed.
public bool AllowColumnReorder { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether column reorder is allowed. |
Gets or sets a value indicating whether column resizing is allowed.
public bool AllowColumnResize { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether column resizing is allowed. |
Gets or sets a value indicating whether filtering is allowed.
public bool AllowFiltering { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether filtering is allowed. |
Gets or sets a value indicating whether filtering by all string columns is allowed.
public bool AllowFilteringByAllStringColumns { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether filtering by all string columns is allowed. |
Gets or sets a value indicating whether filtering by each entered word in the search term, sperated by a space, is allowed.
public bool AllowFilteringByWord { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether filtering by each entered word in the search term, sperated by a space, is allowed. |
Gets or sets the AllowFilteringByWord max count.
public int AllowFilteringByWordCount { get; set; }
| Type | Description |
|---|---|
| int | Gets or sets the AllowFilteringByWord max count. |
Gets or sets a value indicating whether DataGrid row can be selected on row click.
public bool AllowRowSelectOnRowClick { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether DataGrid row can be selected on row click. |
Gets or sets a value indicating whether sorting is allowed.
public bool AllowSorting { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether sorting is allowed. |
Gets or sets the cell render callback. Use it to set cell attributes.
public Action<DataGridCellRenderEventArgs<object>> CellRender { get; set; }
| Type | Description |
|---|---|
| Action<DataGridCellRenderEventArgs<object>> | Gets or sets the cell render callback. Use it to set cell attributes. |
Gets or sets a value indicating whether the selected items will be displayed as chips. Set to false by default. Requires Multiple to be set to true.
public bool Chips { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether the selected items will be displayed as chips. Set to false by default. Requires Multiple to be set to true. |
Gets or sets the column reordered callback.
public EventCallback<DataGridColumnReorderedEventArgs<object>> ColumnReordered { get; set; }
| Type | Description |
|---|---|
| EventCallback<DataGridColumnReorderedEventArgs<object>> | Gets or sets the column reordered callback. |
Gets or sets the column reordering callback.
public EventCallback<DataGridColumnReorderingEventArgs<object>> ColumnReordering { get; set; }
| Type | Description |
|---|---|
| EventCallback<DataGridColumnReorderingEventArgs<object>> | Gets or sets the column reordering callback. |
Gets or sets the column resized callback.
public EventCallback<DataGridColumnResizedEventArgs<object>> ColumnResized { get; set; }
| Type | Description |
|---|---|
| EventCallback<DataGridColumnResizedEventArgs<object>> | Gets or sets the column resized callback. |
Gets or sets the width of all columns.
public string ColumnWidth { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the width of all columns. |
Gets or sets the columns.
public RenderFragment Columns { get; set; }
| Type | Description |
|---|---|
| RenderFragment | Gets or sets the columns. |
Gets or sets the callback invoked when the user right-clicks the component. Commonly used with ContextMenuService to display context menus. Receives mouse event arguments containing click position.
public EventCallback<MouseEventArgs> ContextMenuDataGrid { get; set; }
| Type | Description |
|---|---|
| EventCallback<MouseEventArgs> | Gets or sets the callback invoked when the user right-clicks the component. Commonly used with ContextMenuService to display context menus. Receives mouse event arguments containing click position. |
Handles the reference to the DataGrid component.
public RadzenDataGrid<object> DataGrid { get; }
| Type | Description |
|---|---|
| RadzenDataGrid<object> | Handles the reference to the DataGrid component. |
Gets or sets a value indicating DataGrid density.
public Density Density { get; set; }
| Type | Description |
|---|---|
| Density | Gets or sets a value indicating DataGrid density. |
Gets or sets the empty template shown when Data is empty collection.
public RenderFragment EmptyTemplate { get; set; }
| Type | Description |
|---|---|
| RenderFragment | Gets or sets the empty template shown when Data is empty collection. |
Gets or sets the empty text.
public string EmptyText { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the empty text. |
Gets or sets the pager's first page button's aria-label attribute.
public string FirstPageAriaLabel { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the pager's first page button's aria-label attribute. |
Gets or sets the pager's first page button's title attribute.
public string FirstPageTitle { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the pager's first page button's title attribute. |
Gets or sets whether popup automatically focuses on filter input.
public bool FocusFilterOnPopup { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets whether popup automatically focuses on filter input. |
Gets or sets the grid lines.
public DataGridGridLines GridLines { get; set; }
| Type | Description |
|---|---|
| DataGridGridLines | Gets or sets the grid lines. |
Specifies additional custom attributes that will be rendered by the input.
public IReadOnlyDictionary<string, object> InputAttributes { get; set; }
| Type | Description |
|---|---|
| IReadOnlyDictionary<string, object> | Specifies additional custom attributes that will be rendered by the input. |
Gets or sets a value indicating whether this instance loading indicator is shown.
public bool IsLoading { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether this instance loading indicator is shown. |
Gets the items.
protected IEnumerable<object> Items { get; }
| Type | Description |
|---|---|
| IEnumerable<object> | Gets the items. |
Gets or sets the pager's last page button's aria-label attribute.
public string LastPageAriaLabel { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the pager's last page button's aria-label attribute. |
Gets or sets the pager's last page button's title attribute.
public string LastPageTitle { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the pager's last page button's title attribute. |
Gets or sets the load child data callback.
public EventCallback<DataGridLoadChildDataEventArgs<object>> LoadChildData { get; set; }
| Type | Description |
|---|---|
| EventCallback<DataGridLoadChildDataEventArgs<object>> | Gets or sets the load child data callback. |
Gets or sets the number of maximum selected labels.
public int MaxSelectedLabels { get; set; }
| Type | Description |
|---|---|
| int | Gets or sets the number of maximum selected labels. |
Gets or sets the pager's next page button's aria-label attribute.
public string NextPageAriaLabel { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the pager's next page button's aria-label attribute. |
Gets or sets the pager's next page button's title attribute.
public string NextPageTitle { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the pager's next page button's title attribute. |
Gets or sets a value indicating whether popup should open on focus. Set to false by default.
public bool OpenOnFocus { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether popup should open on focus. Set to false by default. |
Gets or sets the keyboard key that triggers opening the popup when OpenOnFocus is enabled. Default is "Enter".
public string OpenPopupKey { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the keyboard key that triggers opening the popup when OpenOnFocus is enabled. Default is "Enter". |
Gets or sets the pager's numeric page number buttons' aria-label attributes.
public string PageAriaLabelFormat { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the pager's numeric page number buttons' aria-label attributes. |
Gets or sets the page numbers count.
public int PageNumbersCount { get; set; }
| Type | Description |
|---|---|
| int | Gets or sets the page numbers count. |
Gets or sets the page size options.
public IEnumerable<int> PageSizeOptions { get; set; }
| Type | Description |
|---|---|
| IEnumerable<int> | Gets or sets the page size options. |
Gets or sets the pager's numeric page number buttons' title attributes.
public string PageTitleFormat { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the pager's numeric page number buttons' title attributes. |
Gets or sets a value indicating whether pager is visible even when not enough data for paging.
public bool PagerAlwaysVisible { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether pager is visible even when not enough data for paging. |
Gets or sets the horizontal align.
public HorizontalAlign PagerHorizontalAlign { get; set; }
| Type | Description |
|---|---|
| HorizontalAlign | Gets or sets the horizontal align. |
Gets or sets the pager summary format.
public string PagingSummaryFormat { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the pager summary format. |
Gets or sets the Popup style.
public string PopupStyle { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the Popup style. |
Gets or sets preserving the selected row index on pageing.
public bool PreserveRowSelectionOnPaging { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets preserving the selected row index on pageing. |
Gets or sets the pager's previous page button's aria-label attribute.
public string PrevPageAriaLabel { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the pager's previous page button's aria-label attribute. |
Gets or sets the pager's previous page button's title attribute.
public string PrevPageTitle { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the pager's previous page button's title attribute. |
Gets or sets a value indicating whether this RadzenDropDownDataGrid<T> is responsive.
public bool Responsive { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether this RadzenDropDownDataGrid<T> is responsive. |
Gets or sets the row render callback. Use it to set row attributes.
public Action<RowRenderEventArgs<object>> RowRender { get; set; }
| Type | Description |
|---|---|
| Action<RowRenderEventArgs<object>> | Gets or sets the row render callback. Use it to set row attributes. |
Gets or sets the search input placeholder text.
public string SearchTextPlaceholder { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the search input placeholder text. |
Gets or sets the selected items text.
public string SelectedItemsText { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the selected items text. |
Gets or sets the selected value.
public object SelectedValue { get; set; }
| Type | Description |
|---|---|
| object | Gets or sets the selected value. |
Gets or sets a value indicating whether the create button is shown.
public bool ShowAdd { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether the create button is shown. |
Gets or sets the pager summary visibility.
public bool ShowPagingSummary { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets the pager summary visibility. |
Gets or sets a value indicating whether search button is shown.
public bool ShowSearch { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether search button is shown. |
Gets or sets the value template.
public RenderFragment<object> ValueTemplate { get; set; }
| Type | Description |
|---|---|
| RenderFragment<object> | Gets or sets the value template. |
Gets the view. The data with sorting, filtering and paging applied.
public Collections.IEnumerable View { get; }
| Type | Description |
|---|---|
| Collections.IEnumerable | Gets the view. The data with sorting, filtering and paging applied. |
protected override void BuildRenderTree(Rendering.RenderTreeBuilder __builder)
| Type | Name | Description |
|---|---|---|
| Rendering.RenderTreeBuilder | __builder |
Closes the dropdown popup and sets focus to the input element.
public Task CloseAndFocus()
| Type | Description |
|---|---|
| Task | A task that represents the asynchronous operation. |
protected override string GetComponentCssClass()
| Type | Description |
|---|---|
| string |
protected override Task HandleKeyPress(KeyboardEventArgs args, bool isFilter, bool? shouldSelectOnChange)
| Type | Name | Description |
|---|---|---|
| KeyboardEventArgs | args | |
| bool | isFilter | |
| bool? | shouldSelectOnChange |
| Type | Description |
|---|---|
| Task |
Handles the click event.
public Task OnAddClick(MouseEventArgs args)
| Type | Name | Description |
|---|---|---|
| MouseEventArgs | args | The MouseEventArgs instance containing the event data. |
| Type | Description |
|---|---|
| Task |
Called when [after render asynchronous].
protected override Task OnAfterRenderAsync(bool firstRender)
| Type | Name | Description |
|---|---|---|
| bool | firstRender | if set to true [first render]. |
| Type | Description |
|---|---|
| Task | Task. |
Executes CellRender callback.
protected virtual void OnCellRender(DataGridCellRenderEventArgs<object> args)
| Type | Name | Description |
|---|---|---|
| DataGridCellRenderEventArgs<object> | args |
Event handler for when an item is unselected by clicking a chip
protected virtual Task OnChipRemove(object item)
| Type | Name | Description |
|---|---|---|
| object | item | The item that is to be removed |
| Type | Description |
|---|---|
| Task |
Called when popup is closed.
public Task OnClose()
| Type | Description |
|---|---|
| Task |
Called when data is changed.
protected override Task OnDataChanged()
| Type | Description |
|---|---|
| Task |
protected override Task OnFilter(ChangeEventArgs args)
| Type | Name | Description |
|---|---|---|
| ChangeEventArgs | args |
| Type | Description |
|---|---|
| Task |
protected override Task OnFilterInput(ChangeEventArgs args)
| Type | Name | Description |
|---|---|---|
| ChangeEventArgs | args |
| Type | Description |
|---|---|
| Task |
Executes RowRender callback.
protected virtual void OnRowRender(RowRenderEventArgs<object> args)
| Type | Name | Description |
|---|---|---|
| RowRenderEventArgs<object> | args |
Opens the popup.
protected override Task OpenPopup(string key, bool isFilter, bool isFromClick)
| Type | Name | Description |
|---|---|---|
| string | key | The key. |
| bool | isFilter | if set to true [is filter]. |
| bool | isFromClick | if set to true [is from click]. |
| Type | Description |
|---|---|
| Task |
Resets component and deselects row
public Task Reset()
| Type | Description |
|---|---|
| Task |
Selects the item from value.
protected override void SelectItemFromValue(object value)
| Type | Name | Description |
|---|---|---|
| object | value | The value. |
Set parameters as an asynchronous operation.
public override Task SetParametersAsync(ParameterView parameters)
| Type | Name | Description |
|---|---|---|
| ParameterView | parameters | The parameters. |
| Type | Description |
|---|---|
| Task | A Task representing the asynchronous operation. |