Я реализую фильтрацию с помощью библиотеки с открытым исходным кодом под названием DataGridExtensions.
Я хотел бы реализовать фильтрацию для столбцов с несколькими метками в сочетании с другой фильтрацией. условия из DataGridExtensions' MultipleChoiceFilter, как показано ниже.
Как мне реализовать это в модели представления или где-либо еще?
Если сложно с DataGridExtensions. Я также рассматриваю другие решения с открытым исходным кодом или собственную реализацию.
Фильтрация столбцов с несколькими метками:
< ul>
[*]Столбец «Клубы» содержит несколько значений, и я хочу извлечь ячейки, содержащие все выбранные значения.
Отфильтрованное условие2-1
Отфильтровано условие2-2
MainWindow.xaml:
ViewModel/MainWindowViewModel.cs:
using System.Collections.ObjectModel;
using TestDataGridFilterSample.Models;
namespace TestDataGridFilterSample.ViewModels
{
public class MainWindowViewModel : ViewModelBase
{
private ObservableCollection _filteredStudents;
public ObservableCollection FilteredStudents
{
get => _filteredStudents;
set => SetProperty(ref _filteredStudents, value);
}
public ObservableCollection Grades { get; private set; }
public ObservableCollection Classes { get; private set; }
public ObservableCollection Clubs { get; private set; }
private List _allStudents;
public MainWindowViewModel()
{
LoadData();
}
private void LoadData()
{
_allStudents = new List
{
new Student { Grade = "1", Class = "1", Clubs = new List { "Sports Club", "Science Club" } },
new Student { Grade = "2", Class = "2", Clubs = new List { "Technic Club" } },
new Student { Grade = "3", Class = "3", Clubs = new List { "Sports Club" } },
new Student { Grade = "1", Class = "3", Clubs = new List { "Science Club", "Technic Club" } },
};
foreach (var student in _allStudents)
{
student.ClubsDisplay = string.Join(", ", student.Clubs);
}
FilteredStudents = new ObservableCollection(_allStudents);
}
}
}
Models/Students.cs:
using System.Collections.Generic;
namespace TestDataGridFilterSample.Models
{
public class Student
{
public string Grade { get; set; }
public string Class { get; set; }
public List Clubs { get; set; }
public string ClubsDisplay { get; set; }
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... -wpf-net-8
Как реализовать фильтрацию столбцов с несколькими метками в C# WPF .NET 8 DataGrid в сочетании с другими условиями фильт ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение