diff --git a/src/ui/Table/targetlistwgt.cpp b/src/ui/Table/targetlistwgt.cpp index 1ba0c782..617a2dbc 100644 --- a/src/ui/Table/targetlistwgt.cpp +++ b/src/ui/Table/targetlistwgt.cpp @@ -107,21 +107,42 @@ void TargetListWgt::updateParseFile(const QString & strFile, int nT, QVariantLis double t = listLine.at(nT).toDouble(); QMap mapData; - for (int nI = 0; nI < listCurve.size(); nI++) + if (listCurve.size() == 0) { - QVariantMap mapCurve = listCurve.at(nI).toMap(); - QString strData = mapCurve.value("Data").toString(); - QStringList listData = strData.split(","); - - QVariantList varList; - for (int nJ = 0; nJ < listData.size(); nJ++) + int nCount = ui.tableWidget->columnCount(); + int nRow = (listLine.size() - 1) / nCount; + for (int nI = 0; nI < nRow; nI++) { - int nIndex = listData.at(nJ).toInt(); - double data = listLine.at(nIndex).toDouble(); - varList.push_back(data); + int nBegin = nT + 1 + nI * nCount; + QVariantList varList; + for (int nJ = 0; nJ < nCount; nJ++) + { + int nIndex = nBegin + nJ; + double data = listLine.at(nIndex).toDouble(); + varList.push_back(data); + } + mapData.insert(nI, varList); } - mapData.insert(nI, varList); } + else + { + for (int nI = 0; nI < listCurve.size(); nI++) + { + QVariantMap mapCurve = listCurve.at(nI).toMap(); + QString strData = mapCurve.value("Data").toString(); + QStringList listData = strData.split(","); + + QVariantList varList; + for (int nJ = 0; nJ < listData.size(); nJ++) + { + int nIndex = listData.at(nJ).toInt(); + double data = listLine.at(nIndex).toDouble(); + varList.push_back(data); + } + mapData.insert(nI, varList); + } + } + m_dataTable.insert(t, mapData); } }