#include "MeasureAnalysisDataTableView.h" #include "VirtualTable/CsvDataSource.h" #include "VirtualTable/VirtualTableModel.h" #include "VirtualTable/VirtualTableView.h" #include #include "GlobalDefine.h" MeasureAnalysisDataTableView::MeasureAnalysisDataTableView(QWidget* parent) : MeasureAnalysisView { parent } , _preload_policy(PreloadPolicy::Conservative) , _block_size(100) , _buffer_size(50) { this->setViewType(DataTable); QHBoxLayout* layout = new QHBoxLayout(this); // 创建表格视图 _tableView = new VirtualTableView(this); _tableView->setFixedRowHeight(25); _tableView->setShowGrid(true); _tableView->setAlternatingRowColors(false); layout->addWidget(_tableView); } MeasureAnalysisDataTableView::~MeasureAnalysisDataTableView() { LOG_DEBUG(QStringLiteral(u"%1析构.").arg(this->GetViewName())); } void MeasureAnalysisDataTableView::InitViewWorkspace(const QString &project_name) { Q_UNUSED(project_name); } void MeasureAnalysisDataTableView::SetAnalyzeDataFilename(const QMap &data_files_set) { if (data_files_set.isEmpty()) { return; } auto csv_ddata_source = std::make_shared(data_files_set.first().toString()); if (!csv_ddata_source->isValid()) { return; } VirtualTableModel* table_model = new VirtualTableModel; table_model->setDataSource(csv_ddata_source); table_model->setPreloadPolicy(_preload_policy); table_model->setBlockSize(_block_size); _tableView->setVirtualModel(table_model); _tableView->setBufferSize(_buffer_size); }