В шаблоне MVVM у меня есть 16 различных строк, привязанных к 16 текстовым полям для фильтрации столбцов, каждая из которых имеет измененное свойство, назначенное при создании.Логика терпит неудачу из-за того, что остальные поля по умолчанию остаются пустыми по умолчанию во время выполнения.Я хочу игнорировать пустые поля.Если я заполню каждое поле в списке, то оно будет работать как положено.
Что я хочу: если пользователь случайным образом выбирает поля 1, 5 и 15 для заполнения текстом, то он должен принимать только те из них для фильтрации и игнорировать оставшиеся пустые.Если пользователь ничего не заполняет, он должен продолжать показывать всю таблицу.
Что я пробовал: Я пытался взять все поля и установить! = "" И! = null перед добавлением в список, а затем возвращает тип списка в виде строки для фильтрации.Создание foreach тоже не помогло.См. Пример ниже:
public List<String> FilterList()
{
List<String> filters = new List<string>();
if (!Filterbox1.Equals("") && !Filterbox1.Equals(null))
{
filters.Add(Filterbox1);
}
if (!Filterbox2.Equals("") && !Filterbox2.Equals(null))
{
filters.Add(Filterbox2);
}
return filters;
}
Исходный код, с которым я пытался работать:
string[] ColumnFilter = new[] { Filterbox1, Filterbox2, Filterbox3, Filterbox4, Filterbox5, Filterbox6, Filterbox7, Filterbox8, Filterbox9, Filterbox10, Filterbox11, Filterbox12, Filterbox13, Filterbox14, Filterbox15, Filterbox16 };
_dataGridModel.DataTableMergeren = new DataView(MainTable).ToTable(false, ColumnFilter);