|
@@ -1,5 +1,7 @@
|
|
|
#include "DataTableWidget.h"
|
|
|
|
|
|
+#include "DataTableItemDelegate.h"
|
|
|
+
|
|
|
#include "ProjectManager.h"
|
|
|
#include <dbService/CNodeDataService.h>
|
|
|
#include <dbService/ClassSet.h>
|
|
@@ -26,6 +28,8 @@ DataTableWidget::DataTableWidget(SchemePlanManager::SchemeProcessInfo process, Q
|
|
|
initWidget();
|
|
|
initLayout();
|
|
|
connectSignalsAndSlots();
|
|
|
+
|
|
|
+ m_comboDelegate = new DataTableComboDelegate(this);
|
|
|
}
|
|
|
|
|
|
SchemePlanManager::SchemeProcessInfo DataTableWidget::process() const
|
|
@@ -118,11 +122,11 @@ void DataTableWidget::updateCurrentTable()
|
|
|
QStandardItemModel *model = (QStandardItemModel *)table->model();
|
|
|
|
|
|
|
|
|
- int hIndex = 0;
|
|
|
+ int hIndex = -1;
|
|
|
|
|
|
if (m_process.type == SchemePlanManager::ImportEvalData) {
|
|
|
QStandardItem *item = new QStandardItem("指标权重");
|
|
|
- model->setHorizontalHeaderItem(hIndex++, item);
|
|
|
+ model->setHorizontalHeaderItem(++hIndex, item);
|
|
|
}
|
|
|
|
|
|
CNodeData n = m_mind1->nodesInLevel(m_currentPage)[c];
|
|
@@ -134,20 +138,25 @@ void DataTableWidget::updateCurrentTable()
|
|
|
for (CNodeData node : hList) {
|
|
|
QStandardItem *item = new QStandardItem(node.name);
|
|
|
item->setToolTip(node.remark);
|
|
|
- model->setHorizontalHeaderItem(hIndex++, item);
|
|
|
+ model->setHorizontalHeaderItem(++hIndex, item);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ int dimensionIndex = -1;
|
|
|
if (m_process.type == SchemePlanManager::ImportEvalData
|
|
|
&& (m_process.indexType == ProjectManager::OptimalIndex
|
|
|
|| m_process.indexType == ProjectManager::EfficiencyIndex)) {
|
|
|
QStandardItem *item = new QStandardItem("指标量纲");
|
|
|
- model->setHorizontalHeaderItem(hIndex++, item);
|
|
|
+ model->setHorizontalHeaderItem(++hIndex, item);
|
|
|
+ dimensionIndex = hIndex;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ int typeIndex = -1;
|
|
|
if (m_process.type == SchemePlanManager::ImportEvalData && m_process.indexType == ProjectManager::OptimalIndex) {
|
|
|
QStandardItem *item = new QStandardItem("指标类型");
|
|
|
- model->setHorizontalHeaderItem(hIndex++, item);
|
|
|
+ model->setHorizontalHeaderItem(++hIndex, item);
|
|
|
+ typeIndex = hIndex;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -172,25 +181,37 @@ void DataTableWidget::updateCurrentTable()
|
|
|
table->setRowHeight(i, 35);
|
|
|
}
|
|
|
|
|
|
- return;
|
|
|
-
|
|
|
|
|
|
for (int i = 0; i < vList.count(); i++) {
|
|
|
- for (int j = 0; j < hList.count(); j++) {
|
|
|
- QStandardItem *item = new QStandardItem();
|
|
|
- item->setEditable(false);
|
|
|
- if (m_mind2->nodeList().count() <= 0) {
|
|
|
- if (i == j) {
|
|
|
- item->setText("1");
|
|
|
- }
|
|
|
- if (i >= j) {
|
|
|
- item->setBackground(QBrush(QColor("lightgray")));
|
|
|
- }
|
|
|
- }
|
|
|
- item->setData(Qt::AlignCenter, Qt::TextAlignmentRole);
|
|
|
- model->setItem(i, j, item);
|
|
|
+ CNodeData node = vList[i];
|
|
|
+ QStandardItem *d = new QStandardItem();
|
|
|
+ d->setEditable(false);
|
|
|
+ d->setData(Qt::AlignCenter, Qt::TextAlignmentRole);
|
|
|
+ if (dimensionIndex >= 0) {
|
|
|
+ d->setText(node.dimension);
|
|
|
+ model->setItem(i, dimensionIndex, d);
|
|
|
}
|
|
|
|
|
|
+ if (typeIndex >= 0) {
|
|
|
+ model->setItem(i, typeIndex, d);
|
|
|
+ table->setItemDelegateForColumn(typeIndex, m_comboDelegate);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
table->setRowHeight(i, 35);
|
|
|
}
|
|
|
}
|