#ifndef CUSTOMSORTPROXYMODEL_H
#define CUSTOMSORTPROXYMODEL_H

#include <QSortFilterProxyModel>
#include <QDebug>


class CustomSortProxyModel : public QSortFilterProxyModel
{
public:
    CustomSortProxyModel();
    bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const override {

            // 获取数据
            QVariant leftData = sourceModel()->data(source_left);
            QVariant rightData = sourceModel()->data(source_right);
//            qDebug()<<"自定义代理排序"<<source_left<<leftData.type();

            if(source_left.column() >= 2 && source_left.column() <= 8){
                return leftData.toDouble() < rightData.toDouble();
            }
            // 根据数据类型自定义排序逻辑
//            if (leftData.type() == QVariant::String) {
//                // 字符串按字母顺序排序
//                return leftData.toString() < rightData.toString();
//            } else if (leftData.type() == QVariant::Int) {
//                // 整数按数值大小排序
//                return leftData.toInt() < rightData.toInt();
//            }else if(leftData.type() == QVariant::Double){
//                return leftData.toDouble() < rightData.toDouble();
//            }

            // 默认按字符串排序
            return leftData.toString() < rightData.toString();
        }
};

#endif // CUSTOMSORTPROXYMODEL_H