/
friendlyperch
/
QGrid
Обзор
Документация
Войти
/
friendlyperch
/
QGrid
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev-ver1
src/models/FilterProxyModel.h
33 строки
1 KB
okuntsev
column sorting
16 янв 2026, 17:41
16 янв 2026, 17:41
d1883e8
Код
Авторство
О чём код?
#pragma once #include <QSortFilterProxyModel> #include <QVariant> #include <QString> class Group; class UniversalTableModel; class GridColumn; class FilterProxyModel : public QSortFilterProxyModel { Q_OBJECT public: explicit FilterProxyModel(QObject *parent = nullptr); void setFilters(const Group &filters); void clearFilters(); protected: bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override; bool lessThan(const QModelIndex &left, const QModelIndex &right) const override; void sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override; private: bool matchesFilter(const QModelIndex &sourceIndex, const Group &group) const; bool matchesOperation(const QVariant &value, const QString &fieldName, int operation, const QVariant &filterValue) const; UniversalTableModel *getSourceModel() const; QVariant getFieldValue(const QModelIndex &sourceIndex, const QString &fieldName) const; Group *mFilters = nullptr; };