40 lines
1.3 KiB
C++
40 lines
1.3 KiB
C++
#include "MeasureAnalysisDataTableView.h"
|
|
#include "VirtualTable/CsvDataSource.h"
|
|
#include "VirtualTable/VirtualTableModel.h"
|
|
#include "VirtualTable/VirtualTableView.h"
|
|
#include <QHBoxLayout>
|
|
|
|
MeasureAnalysisDataTableView::MeasureAnalysisDataTableView(QWidget* parent)
|
|
: MeasureAnalysisView { parent }
|
|
, _preload_policy(PreloadPolicy::Balanced)
|
|
, _block_size(1000)
|
|
, _buffer_size(50)
|
|
{
|
|
this->setAnalyzeViewType(ViewType::DataTable);
|
|
QHBoxLayout* layout = new QHBoxLayout(this);
|
|
// 创建表格视图
|
|
_tableView = new VirtualTableView(this);
|
|
_tableView->setFixedRowHeight(25); // 设置固定行高
|
|
_tableView->setShowGrid(true);
|
|
_tableView->setAlternatingRowColors(false);
|
|
layout->addWidget(_tableView);
|
|
}
|
|
|
|
void MeasureAnalysisDataTableView::SetAnalyzeDataFilename(const QMap<QString, QString> &data_files_set)
|
|
{
|
|
if (data_files_set.isEmpty()) {
|
|
return;
|
|
}
|
|
auto csv_ddata_source = std::make_shared<CsvDataSource>(data_files_set.first());
|
|
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);
|
|
}
|