Как реализовать фильтрацию столбцов с несколькими метками в C# WPF .NET 8 DataGrid в сочетании с другими условиями фильтC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как реализовать фильтрацию столбцов с несколькими метками в C# WPF .NET 8 DataGrid в сочетании с другими условиями фильт

Сообщение Anonymous »

Я реализую фильтрацию с помощью библиотеки с открытым исходным кодом под названием 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»