|
@@ -184,11 +184,15 @@ void GreyClusteringSampleTable::refreshTableView()
|
|
|
|
|
|
// 设置表头
|
|
|
{
|
|
|
- if (m_tableHeaderInitialized == false) {
|
|
|
- m_tableHeaderInitialized = true;
|
|
|
+ // if (m_tableHeaderInitialized == false) {
|
|
|
+ // m_tableHeaderInitialized = true;
|
|
|
|
|
|
- auto hHeader = new MultiLevelHeaderView(Qt::Horizontal, 2, colCount, this);
|
|
|
+ MultiLevelHeaderView *hHeader = dynamic_cast<MultiLevelHeaderView *>(horizontalHeader());
|
|
|
+
|
|
|
+ if (hHeader == nullptr) {
|
|
|
+ hHeader = new MultiLevelHeaderView(Qt::Horizontal, 2, colCount, this);
|
|
|
hHeader->setSectionResizeMode(QHeaderView::Stretch);
|
|
|
+ this->setHorizontalHeader(hHeader);
|
|
|
|
|
|
hHeader->setCellSpan(0, 0, 2, m_nodeDepth); // 指标占位
|
|
|
for (int n = 0; n < 2 + greyNames.size(); ++n) { // 单位+权重+灰度级占位
|
|
@@ -201,24 +205,24 @@ void GreyClusteringSampleTable::refreshTableView()
|
|
|
hHeader->setCellSpan(0, m_nodeDepth + 4 + greyNames.size(), 1, 2); // 实现值占位
|
|
|
hHeader->setCellSpan(1, m_nodeDepth + 4 + greyNames.size(), 1, 1);
|
|
|
hHeader->setCellSpan(1, m_nodeDepth + 4 + greyNames.size() + 1, 1, 1);
|
|
|
+ }
|
|
|
|
|
|
- // 一级
|
|
|
- hHeader->setCellText(0, 0, QString("指标"));
|
|
|
- hHeader->setCellText(0, m_nodeDepth, QString("单位"));
|
|
|
- hHeader->setCellText(0, m_nodeDepth + 1, QString("权重"));
|
|
|
- for (int i = 0; i < greyNames.size(); ++i) {
|
|
|
- hHeader->setCellText(0, m_nodeDepth + 2 + i, greyNames.at(i));
|
|
|
- }
|
|
|
- hHeader->setCellText(0, m_nodeDepth + 2 + greyNames.size(), QString("延拓值"));
|
|
|
- hHeader->setCellText(0, m_nodeDepth + 4 + greyNames.size(), QString("实现值"));
|
|
|
- // 二级
|
|
|
- hHeader->setCellText(1, m_nodeDepth + 2 + greyNames.size(), "左");
|
|
|
- hHeader->setCellText(1, m_nodeDepth + 3 + greyNames.size(), "右");
|
|
|
- hHeader->setCellText(1, m_nodeDepth + 4 + greyNames.size(), "建设前");
|
|
|
- hHeader->setCellText(1, m_nodeDepth + 5 + greyNames.size(), "建设后");
|
|
|
-
|
|
|
- this->setHorizontalHeader(hHeader);
|
|
|
+ // 一级
|
|
|
+ hHeader->setCellText(0, 0, QString("指标"));
|
|
|
+ hHeader->setCellText(0, m_nodeDepth, QString("单位"));
|
|
|
+ hHeader->setCellText(0, m_nodeDepth + 1, QString("权重"));
|
|
|
+ for (int i = 0; i < greyNames.size(); ++i) {
|
|
|
+ hHeader->setCellText(0, m_nodeDepth + 2 + i, greyNames.at(i));
|
|
|
}
|
|
|
+ hHeader->setCellText(0, m_nodeDepth + 2 + greyNames.size(), QString("延拓值"));
|
|
|
+ hHeader->setCellText(0, m_nodeDepth + 4 + greyNames.size(), QString("实现值"));
|
|
|
+ // 二级
|
|
|
+ hHeader->setCellText(1, m_nodeDepth + 2 + greyNames.size(), "左");
|
|
|
+ hHeader->setCellText(1, m_nodeDepth + 3 + greyNames.size(), "右");
|
|
|
+ hHeader->setCellText(1, m_nodeDepth + 4 + greyNames.size(), "建设前");
|
|
|
+ hHeader->setCellText(1, m_nodeDepth + 5 + greyNames.size(), "建设后");
|
|
|
+
|
|
|
+ // }
|
|
|
}
|
|
|
|
|
|
m_model->setColumnCount(colCount);
|
|
@@ -617,7 +621,9 @@ void GreyClusteringSampleTable::initClusteringItems()
|
|
|
//[0:0]
|
|
|
QStringList lr = valueList.at(str).mid(1, valueList.at(str).size() - 2).split(":");
|
|
|
item.value->greyRanges[str].leftValue = lr.at(0).toDouble();
|
|
|
+ item.value->greyRanges[str].leftClose = valueList.at(str)[0] == "[";
|
|
|
item.value->greyRanges[str].rightValue = lr.at(1).toDouble();
|
|
|
+ item.value->greyRanges[str].rightClose = valueList.at(str).right(1) == "]";
|
|
|
}
|
|
|
}
|
|
|
}
|