|
@@ -2104,29 +2104,6 @@ public abstract class DynamicGrid<T> : DynamicGrid, IDynamicGridUIComponentParen
|
|
|
protected virtual void ApplyExportFilter(CoreTable table, object data)
|
|
|
{
|
|
|
}
|
|
|
- private static bool FilterByPredicate(CoreRow row, string column, FilterPredicate predicate)
|
|
|
- {
|
|
|
- var value = row[column];
|
|
|
- var vStr = value?.ToString() ?? "";
|
|
|
- var pValue = predicate.FilterValue;
|
|
|
- var pStr = pValue?.ToString() ?? "";
|
|
|
- return predicate.FilterType switch
|
|
|
- {
|
|
|
- FilterType.Contains => vStr.Contains(pStr),
|
|
|
- FilterType.EndsWith => vStr.EndsWith(pStr),
|
|
|
- FilterType.Equals => vStr.Equals(pStr),
|
|
|
- FilterType.GreaterThan => vStr.CompareTo(pStr) > 0,
|
|
|
- FilterType.GreaterThanOrEqual => vStr.CompareTo(pStr) >= 0,
|
|
|
- FilterType.LessThan => vStr.CompareTo(pStr) < 0,
|
|
|
- FilterType.LessThanOrEqual => vStr.CompareTo(pStr) <= 0,
|
|
|
- FilterType.NotContains => !vStr.Contains(pStr),
|
|
|
- FilterType.NotEndsWith => !vStr.EndsWith(pStr),
|
|
|
- FilterType.NotEquals => !vStr.Equals(pStr),
|
|
|
- FilterType.NotStartsWith => !vStr.StartsWith(pStr),
|
|
|
- FilterType.StartsWith => vStr.StartsWith(pStr),
|
|
|
- _ => true,
|
|
|
- };
|
|
|
- }
|
|
|
|
|
|
protected virtual void DoExport()
|
|
|
{
|
|
@@ -2174,11 +2151,11 @@ public abstract class DynamicGrid<T> : DynamicGrid, IDynamicGridUIComponentParen
|
|
|
foreach (var column in columns.Items)
|
|
|
newData.Columns.Add(new CoreColumn { ColumnName = column.Property, DataType = column.Type });
|
|
|
|
|
|
- FilterRows(data, newData, filter: (row) =>
|
|
|
+ FilterRows(data, newData, filter: row =>
|
|
|
{
|
|
|
- foreach (var (column, predicate) in predicates)
|
|
|
+ foreach(var (_, predicate) in predicates)
|
|
|
{
|
|
|
- if (!FilterByPredicate(row, column, predicate))
|
|
|
+ if (!predicate(row))
|
|
|
{
|
|
|
return false;
|
|
|
}
|