Dynamic Datagrid Dropdown localization

"Hello, I am creating a new component to manage the Radzen DataGrid component from a single component, and this component works generically. However, there is a problem: a property of type enum is selected on the DataGrid through a DropDown, but I do not know how to localize my enum value's localization and the placeholder value of the dropdown. Can you help me with my code below?"

@using System.Reflection
@typeparam TItem
@using Radzen.Blazor
@inject IStringLocalizer<SharedResource> _localizer;
<RadzenDataGrid Data="@Data" @ref="Ref" TItem="TItem"  ColumnWidth="200px" style="z-index:0;border-radius: 0.375rem" LoadData="@LoadData" Count="Count"
                            AllowFiltering="true" FilterPopupRenderMode="PopupRenderMode.OnDemand" FilterMode="FilterMode.SimpleWithMenu"  AllowSorting="true"  AllowColumnResize="true"
                            LogicalFilterOperator="LogicalFilterOperator.And" AllowColumnReorder="true" PagerHorizontalAlign="HorizontalAlign.Center" FilterCaseSensitivity="FilterCaseSensitivity.CaseInsensitive"
                            SelectionMode="@SelectionMode" AllowRowSelectOnRowClick="true" @bind-Value=@SelectedItems 
                            EmptyText=@_localizer["no_records_displayed"] PagingSummaryFormat=@string.Concat(_localizer["Page"], " {0}", " / "," {1} ","(", "{2} ", _localizer["items"],")" ) PageSizeText=@_localizer["items_per_page"]
                            AndOperatorText=@_localizer["filter_And"] OrOperatorText=@_localizer["filter_Or"] ApplyFilterText=@_localizer["filter_Apply"]
                            EqualsText=@_localizer["filter_Equals"] NotEqualsText=@_localizer["filter_NotEquals"] LessThanOrEqualsText=@_localizer["filter_LessThanOrEquals"] LessThanText=@_localizer["filter_LessThan"]
                            DoesNotContainText=@_localizer["filter_DoesNotContain"] EndsWithText=@_localizer["filter_EndsWith"] ContainsText=@_localizer["filter_Contains"] StartsWithText=@_localizer["filter_StartsWith"]
                            GreaterThanText=@_localizer["filter_GreaterThan"] GreaterThanOrEqualsText=@_localizer["filter_GreaterThanOrEquals"] IsEmptyText=@_localizer["filter_IsEmpty"]
                            IsNotEmptyText=@_localizer["filter_IsNotEmpty"] IsNullText=@_localizer["filter_IsNull"] IsNotNullText=@_localizer["filter_IsNotNull"] ClearFilterText=@_localizer["filter_Clear"]>
    <Columns>
        @foreach (var property in typeof(TItem).GetProperties().Where(prop => !ExcludedProperties.Contains(prop.Name)))
        {

            <RadzenDataGridColumn  TItem="TItem" 
                              Property="@property.Name"
                              Title="@_localizer[property.Name]">
            </RadzenDataGridColumn>


        }
    </Columns>
</RadzenDataGrid>

image

You can use Display attribute Description:

1 Like