Ich implementieren die Filterung mithilfe einer Open-Source-Bibliothek namens DataGridExtensions.
Ich möchte die Filterung für Spalten mit mehreren Beschriftungen in Kombination mit anderen Filterungen implementieren Bedingungen aus DataGridExtensions' MultipleChoiceFilter wie unten gezeigt.
Wie soll ich dies im Ansichtsmodell oder anderswo implementieren?
Wenn es schwierig ist mit DataGridExtensions, ich denke auch über andere Open-Source-Lösungen oder eine benutzerdefinierte Implementierung nach.
Filtern nach Spalten mit mehreren Beschriftungen:
< ul>
[*]Die Spalte Clubs enthält mehrere Werte, und ich möchte Zellen extrahieren, die alle ausgewählten Werte enthalten.
Gefilterte Bedingung2-1
Gefiltert Bedingung2-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; }
}
}
So implementieren Sie die Filterung von Spalten mit mehreren Beschriftungen in C# WPF .NET 8 DataGrid in Kombination mit ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post