diff --git a/logPlus/mainwindowcurve.cpp b/logPlus/mainwindowcurve.cpp index 773b944..114fa14 100644 --- a/logPlus/mainwindowcurve.cpp +++ b/logPlus/mainwindowcurve.cpp @@ -6306,13 +6306,21 @@ void MainWindowCurve::slotDeleteSelectWell() } else { - QTableWidgetItem* pItem = ui->tableWidget_2->item(iCurrentRow, column); - if (pItem) - { - QString strWellName = pItem->text(); - m_listWell.removeOne(strWellName); - m_mapFWell.remove(strWellName); - } +// QTableWidgetItem* pItem = ui->tableWidget_2->item(iCurrentRow, column); +// if (pItem) +// { +// QString strWellName = pItem->text(); +// m_listWell.removeOne(strWellName); +// m_mapFWell.remove(strWellName); +// } + + WellHeader* pWheader = qobject_cast(ui->tableWidget_2->cellWidget(iCurrentRow, column)); + if (pWheader) + { + QString strWellName = pWheader->m_strWellName; + m_listWell.removeOne(strWellName); + m_mapFWell.remove(strWellName); + } // ui->tableWidget_2->removeColumn(column+1);//空白列,注意先删除空白列,否则列号改变 ui->tableWidget_2->removeColumn(column); @@ -6320,13 +6328,20 @@ void MainWindowCurve::slotDeleteSelectWell() } else if (column > 1) { - QTableWidgetItem* pItem = ui->tableWidget_2->item(iCurrentRow, column); - if (pItem) - { - QString strWellName = pItem->text(); - m_listWell.removeOne(strWellName); - m_mapFWell.remove(strWellName); - } +// QTableWidgetItem* pItem = ui->tableWidget_2->item(iCurrentRow, column); +// if (pItem) +// { +// QString strWellName = pItem->text(); +// m_listWell.removeOne(strWellName); +// m_mapFWell.remove(strWellName); +// } + WellHeader* pWheader = qobject_cast(ui->tableWidget_2->cellWidget(iCurrentRow, column)); + if (pWheader) + { + QString strWellName = pWheader->m_strWellName; + m_listWell.removeOne(strWellName); + m_mapFWell.remove(strWellName); + } // ui->tableWidget_2->removeColumn(column); ui->tableWidget_2->removeColumn(column-1);//空白列,注意先删除选中列,否则列号改变 @@ -6685,6 +6700,11 @@ void MainWindowCurve::s_AddMultiWell(QString strUuid, QString strSlfName, QStrin { return; } + // + if(m_listWell.contains(strWellName)) + { + return; + } g_strSlfName = strSlfName; g_strWellName = strWellName;