diff --git a/Oqtane.Client/Modules/Admin/Users/Index.razor b/Oqtane.Client/Modules/Admin/Users/Index.razor index bfc6ce95..4cd17e00 100644 --- a/Oqtane.Client/Modules/Admin/Users/Index.razor +++ b/Oqtane.Client/Modules/Admin/Users/Index.razor @@ -20,7 +20,7 @@ else - + diff --git a/Oqtane.Client/Modules/Controls/Pager.razor b/Oqtane.Client/Modules/Controls/Pager.razor index fa6a1368..668fa4ee 100644 --- a/Oqtane.Client/Modules/Controls/Pager.razor +++ b/Oqtane.Client/Modules/Controls/Pager.razor @@ -9,7 +9,7 @@ @if (!string.IsNullOrEmpty(SearchProperties)) { - + @SharedLocalizer["Search"] @SharedLocalizer["Reset"] @@ -415,12 +415,25 @@ private object GetPropertyValue(object obj, string propertyName) { - var propertyInfo = obj.GetType().GetProperty(propertyName); - if (propertyInfo != null) + var index = propertyName.IndexOf("."); + if (index != -1) { - return propertyInfo.GetValue(obj); + var propertyInfo = obj.GetType().GetProperty(propertyName.Substring(0, index)); + if (propertyInfo != null) + { + return GetPropertyValue(propertyInfo.GetValue(obj), propertyName.Substring(index + 1)); + } + return null; + } + else + { + var propertyInfo = obj.GetType().GetProperty(propertyName); + if (propertyInfo != null) + { + return propertyInfo.GetValue(obj); + } + return null; } - return null; } public void Reset() @@ -430,4 +443,22 @@ _pages = (int)Math.Ceiling(Items.Count() / (decimal)_maxItems); UpdateList(1); } + + private string FormatSearchProperties() + { + var properties = new List(); + foreach (var property in SearchProperties.Split(',', StringSplitOptions.RemoveEmptyEntries)) + { + var index = property.LastIndexOf("."); + if (index != -1) + { + properties.Add(property.Substring(index + 1)); + } + else + { + properties.Add(property); + } + } + return string.Join(",", properties); + } }